
software.amazon.awssdk.services.clouddirectory.DefaultCloudDirectoryAsyncClient Maven / Gradle / Ivy
/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package software.amazon.awssdk.services.clouddirectory;
import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.annotations.SdkInternalApi;
import software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration;
import software.amazon.awssdk.awscore.client.handler.AwsAsyncClientHandler;
import software.amazon.awssdk.awscore.exception.AwsServiceException;
import software.amazon.awssdk.core.ApiName;
import software.amazon.awssdk.core.client.config.SdkClientConfiguration;
import software.amazon.awssdk.core.client.handler.AsyncClientHandler;
import software.amazon.awssdk.core.client.handler.ClientExecutionParams;
import software.amazon.awssdk.core.http.HttpResponseHandler;
import software.amazon.awssdk.core.util.VersionInfo;
import software.amazon.awssdk.protocols.core.ExceptionMetadata;
import software.amazon.awssdk.protocols.json.AwsJsonProtocol;
import software.amazon.awssdk.protocols.json.AwsJsonProtocolFactory;
import software.amazon.awssdk.protocols.json.BaseAwsJsonProtocolFactory;
import software.amazon.awssdk.protocols.json.JsonOperationMetadata;
import software.amazon.awssdk.services.clouddirectory.model.AccessDeniedException;
import software.amazon.awssdk.services.clouddirectory.model.AddFacetToObjectRequest;
import software.amazon.awssdk.services.clouddirectory.model.AddFacetToObjectResponse;
import software.amazon.awssdk.services.clouddirectory.model.ApplySchemaRequest;
import software.amazon.awssdk.services.clouddirectory.model.ApplySchemaResponse;
import software.amazon.awssdk.services.clouddirectory.model.AttachObjectRequest;
import software.amazon.awssdk.services.clouddirectory.model.AttachObjectResponse;
import software.amazon.awssdk.services.clouddirectory.model.AttachPolicyRequest;
import software.amazon.awssdk.services.clouddirectory.model.AttachPolicyResponse;
import software.amazon.awssdk.services.clouddirectory.model.AttachToIndexRequest;
import software.amazon.awssdk.services.clouddirectory.model.AttachToIndexResponse;
import software.amazon.awssdk.services.clouddirectory.model.AttachTypedLinkRequest;
import software.amazon.awssdk.services.clouddirectory.model.AttachTypedLinkResponse;
import software.amazon.awssdk.services.clouddirectory.model.BatchReadRequest;
import software.amazon.awssdk.services.clouddirectory.model.BatchReadResponse;
import software.amazon.awssdk.services.clouddirectory.model.BatchWriteException;
import software.amazon.awssdk.services.clouddirectory.model.BatchWriteRequest;
import software.amazon.awssdk.services.clouddirectory.model.BatchWriteResponse;
import software.amazon.awssdk.services.clouddirectory.model.CannotListParentOfRootException;
import software.amazon.awssdk.services.clouddirectory.model.CloudDirectoryException;
import software.amazon.awssdk.services.clouddirectory.model.CloudDirectoryRequest;
import software.amazon.awssdk.services.clouddirectory.model.CreateDirectoryRequest;
import software.amazon.awssdk.services.clouddirectory.model.CreateDirectoryResponse;
import software.amazon.awssdk.services.clouddirectory.model.CreateFacetRequest;
import software.amazon.awssdk.services.clouddirectory.model.CreateFacetResponse;
import software.amazon.awssdk.services.clouddirectory.model.CreateIndexRequest;
import software.amazon.awssdk.services.clouddirectory.model.CreateIndexResponse;
import software.amazon.awssdk.services.clouddirectory.model.CreateObjectRequest;
import software.amazon.awssdk.services.clouddirectory.model.CreateObjectResponse;
import software.amazon.awssdk.services.clouddirectory.model.CreateSchemaRequest;
import software.amazon.awssdk.services.clouddirectory.model.CreateSchemaResponse;
import software.amazon.awssdk.services.clouddirectory.model.CreateTypedLinkFacetRequest;
import software.amazon.awssdk.services.clouddirectory.model.CreateTypedLinkFacetResponse;
import software.amazon.awssdk.services.clouddirectory.model.DeleteDirectoryRequest;
import software.amazon.awssdk.services.clouddirectory.model.DeleteDirectoryResponse;
import software.amazon.awssdk.services.clouddirectory.model.DeleteFacetRequest;
import software.amazon.awssdk.services.clouddirectory.model.DeleteFacetResponse;
import software.amazon.awssdk.services.clouddirectory.model.DeleteObjectRequest;
import software.amazon.awssdk.services.clouddirectory.model.DeleteObjectResponse;
import software.amazon.awssdk.services.clouddirectory.model.DeleteSchemaRequest;
import software.amazon.awssdk.services.clouddirectory.model.DeleteSchemaResponse;
import software.amazon.awssdk.services.clouddirectory.model.DeleteTypedLinkFacetRequest;
import software.amazon.awssdk.services.clouddirectory.model.DeleteTypedLinkFacetResponse;
import software.amazon.awssdk.services.clouddirectory.model.DetachFromIndexRequest;
import software.amazon.awssdk.services.clouddirectory.model.DetachFromIndexResponse;
import software.amazon.awssdk.services.clouddirectory.model.DetachObjectRequest;
import software.amazon.awssdk.services.clouddirectory.model.DetachObjectResponse;
import software.amazon.awssdk.services.clouddirectory.model.DetachPolicyRequest;
import software.amazon.awssdk.services.clouddirectory.model.DetachPolicyResponse;
import software.amazon.awssdk.services.clouddirectory.model.DetachTypedLinkRequest;
import software.amazon.awssdk.services.clouddirectory.model.DetachTypedLinkResponse;
import software.amazon.awssdk.services.clouddirectory.model.DirectoryAlreadyExistsException;
import software.amazon.awssdk.services.clouddirectory.model.DirectoryDeletedException;
import software.amazon.awssdk.services.clouddirectory.model.DirectoryNotDisabledException;
import software.amazon.awssdk.services.clouddirectory.model.DirectoryNotEnabledException;
import software.amazon.awssdk.services.clouddirectory.model.DisableDirectoryRequest;
import software.amazon.awssdk.services.clouddirectory.model.DisableDirectoryResponse;
import software.amazon.awssdk.services.clouddirectory.model.EnableDirectoryRequest;
import software.amazon.awssdk.services.clouddirectory.model.EnableDirectoryResponse;
import software.amazon.awssdk.services.clouddirectory.model.FacetAlreadyExistsException;
import software.amazon.awssdk.services.clouddirectory.model.FacetInUseException;
import software.amazon.awssdk.services.clouddirectory.model.FacetNotFoundException;
import software.amazon.awssdk.services.clouddirectory.model.FacetValidationException;
import software.amazon.awssdk.services.clouddirectory.model.GetAppliedSchemaVersionRequest;
import software.amazon.awssdk.services.clouddirectory.model.GetAppliedSchemaVersionResponse;
import software.amazon.awssdk.services.clouddirectory.model.GetDirectoryRequest;
import software.amazon.awssdk.services.clouddirectory.model.GetDirectoryResponse;
import software.amazon.awssdk.services.clouddirectory.model.GetFacetRequest;
import software.amazon.awssdk.services.clouddirectory.model.GetFacetResponse;
import software.amazon.awssdk.services.clouddirectory.model.GetLinkAttributesRequest;
import software.amazon.awssdk.services.clouddirectory.model.GetLinkAttributesResponse;
import software.amazon.awssdk.services.clouddirectory.model.GetObjectAttributesRequest;
import software.amazon.awssdk.services.clouddirectory.model.GetObjectAttributesResponse;
import software.amazon.awssdk.services.clouddirectory.model.GetObjectInformationRequest;
import software.amazon.awssdk.services.clouddirectory.model.GetObjectInformationResponse;
import software.amazon.awssdk.services.clouddirectory.model.GetSchemaAsJsonRequest;
import software.amazon.awssdk.services.clouddirectory.model.GetSchemaAsJsonResponse;
import software.amazon.awssdk.services.clouddirectory.model.GetTypedLinkFacetInformationRequest;
import software.amazon.awssdk.services.clouddirectory.model.GetTypedLinkFacetInformationResponse;
import software.amazon.awssdk.services.clouddirectory.model.IncompatibleSchemaException;
import software.amazon.awssdk.services.clouddirectory.model.IndexedAttributeMissingException;
import software.amazon.awssdk.services.clouddirectory.model.InternalServiceException;
import software.amazon.awssdk.services.clouddirectory.model.InvalidArnException;
import software.amazon.awssdk.services.clouddirectory.model.InvalidAttachmentException;
import software.amazon.awssdk.services.clouddirectory.model.InvalidFacetUpdateException;
import software.amazon.awssdk.services.clouddirectory.model.InvalidNextTokenException;
import software.amazon.awssdk.services.clouddirectory.model.InvalidRuleException;
import software.amazon.awssdk.services.clouddirectory.model.InvalidSchemaDocException;
import software.amazon.awssdk.services.clouddirectory.model.InvalidTaggingRequestException;
import software.amazon.awssdk.services.clouddirectory.model.LimitExceededException;
import software.amazon.awssdk.services.clouddirectory.model.LinkNameAlreadyInUseException;
import software.amazon.awssdk.services.clouddirectory.model.ListAppliedSchemaArnsRequest;
import software.amazon.awssdk.services.clouddirectory.model.ListAppliedSchemaArnsResponse;
import software.amazon.awssdk.services.clouddirectory.model.ListAttachedIndicesRequest;
import software.amazon.awssdk.services.clouddirectory.model.ListAttachedIndicesResponse;
import software.amazon.awssdk.services.clouddirectory.model.ListDevelopmentSchemaArnsRequest;
import software.amazon.awssdk.services.clouddirectory.model.ListDevelopmentSchemaArnsResponse;
import software.amazon.awssdk.services.clouddirectory.model.ListDirectoriesRequest;
import software.amazon.awssdk.services.clouddirectory.model.ListDirectoriesResponse;
import software.amazon.awssdk.services.clouddirectory.model.ListFacetAttributesRequest;
import software.amazon.awssdk.services.clouddirectory.model.ListFacetAttributesResponse;
import software.amazon.awssdk.services.clouddirectory.model.ListFacetNamesRequest;
import software.amazon.awssdk.services.clouddirectory.model.ListFacetNamesResponse;
import software.amazon.awssdk.services.clouddirectory.model.ListIncomingTypedLinksRequest;
import software.amazon.awssdk.services.clouddirectory.model.ListIncomingTypedLinksResponse;
import software.amazon.awssdk.services.clouddirectory.model.ListIndexRequest;
import software.amazon.awssdk.services.clouddirectory.model.ListIndexResponse;
import software.amazon.awssdk.services.clouddirectory.model.ListManagedSchemaArnsRequest;
import software.amazon.awssdk.services.clouddirectory.model.ListManagedSchemaArnsResponse;
import software.amazon.awssdk.services.clouddirectory.model.ListObjectAttributesRequest;
import software.amazon.awssdk.services.clouddirectory.model.ListObjectAttributesResponse;
import software.amazon.awssdk.services.clouddirectory.model.ListObjectChildrenRequest;
import software.amazon.awssdk.services.clouddirectory.model.ListObjectChildrenResponse;
import software.amazon.awssdk.services.clouddirectory.model.ListObjectParentPathsRequest;
import software.amazon.awssdk.services.clouddirectory.model.ListObjectParentPathsResponse;
import software.amazon.awssdk.services.clouddirectory.model.ListObjectParentsRequest;
import software.amazon.awssdk.services.clouddirectory.model.ListObjectParentsResponse;
import software.amazon.awssdk.services.clouddirectory.model.ListObjectPoliciesRequest;
import software.amazon.awssdk.services.clouddirectory.model.ListObjectPoliciesResponse;
import software.amazon.awssdk.services.clouddirectory.model.ListOutgoingTypedLinksRequest;
import software.amazon.awssdk.services.clouddirectory.model.ListOutgoingTypedLinksResponse;
import software.amazon.awssdk.services.clouddirectory.model.ListPolicyAttachmentsRequest;
import software.amazon.awssdk.services.clouddirectory.model.ListPolicyAttachmentsResponse;
import software.amazon.awssdk.services.clouddirectory.model.ListPublishedSchemaArnsRequest;
import software.amazon.awssdk.services.clouddirectory.model.ListPublishedSchemaArnsResponse;
import software.amazon.awssdk.services.clouddirectory.model.ListTagsForResourceRequest;
import software.amazon.awssdk.services.clouddirectory.model.ListTagsForResourceResponse;
import software.amazon.awssdk.services.clouddirectory.model.ListTypedLinkFacetAttributesRequest;
import software.amazon.awssdk.services.clouddirectory.model.ListTypedLinkFacetAttributesResponse;
import software.amazon.awssdk.services.clouddirectory.model.ListTypedLinkFacetNamesRequest;
import software.amazon.awssdk.services.clouddirectory.model.ListTypedLinkFacetNamesResponse;
import software.amazon.awssdk.services.clouddirectory.model.LookupPolicyRequest;
import software.amazon.awssdk.services.clouddirectory.model.LookupPolicyResponse;
import software.amazon.awssdk.services.clouddirectory.model.NotIndexException;
import software.amazon.awssdk.services.clouddirectory.model.NotNodeException;
import software.amazon.awssdk.services.clouddirectory.model.NotPolicyException;
import software.amazon.awssdk.services.clouddirectory.model.ObjectAlreadyDetachedException;
import software.amazon.awssdk.services.clouddirectory.model.ObjectNotDetachedException;
import software.amazon.awssdk.services.clouddirectory.model.PublishSchemaRequest;
import software.amazon.awssdk.services.clouddirectory.model.PublishSchemaResponse;
import software.amazon.awssdk.services.clouddirectory.model.PutSchemaFromJsonRequest;
import software.amazon.awssdk.services.clouddirectory.model.PutSchemaFromJsonResponse;
import software.amazon.awssdk.services.clouddirectory.model.RemoveFacetFromObjectRequest;
import software.amazon.awssdk.services.clouddirectory.model.RemoveFacetFromObjectResponse;
import software.amazon.awssdk.services.clouddirectory.model.ResourceNotFoundException;
import software.amazon.awssdk.services.clouddirectory.model.RetryableConflictException;
import software.amazon.awssdk.services.clouddirectory.model.SchemaAlreadyExistsException;
import software.amazon.awssdk.services.clouddirectory.model.SchemaAlreadyPublishedException;
import software.amazon.awssdk.services.clouddirectory.model.StillContainsLinksException;
import software.amazon.awssdk.services.clouddirectory.model.TagResourceRequest;
import software.amazon.awssdk.services.clouddirectory.model.TagResourceResponse;
import software.amazon.awssdk.services.clouddirectory.model.UnsupportedIndexTypeException;
import software.amazon.awssdk.services.clouddirectory.model.UntagResourceRequest;
import software.amazon.awssdk.services.clouddirectory.model.UntagResourceResponse;
import software.amazon.awssdk.services.clouddirectory.model.UpdateFacetRequest;
import software.amazon.awssdk.services.clouddirectory.model.UpdateFacetResponse;
import software.amazon.awssdk.services.clouddirectory.model.UpdateLinkAttributesRequest;
import software.amazon.awssdk.services.clouddirectory.model.UpdateLinkAttributesResponse;
import software.amazon.awssdk.services.clouddirectory.model.UpdateObjectAttributesRequest;
import software.amazon.awssdk.services.clouddirectory.model.UpdateObjectAttributesResponse;
import software.amazon.awssdk.services.clouddirectory.model.UpdateSchemaRequest;
import software.amazon.awssdk.services.clouddirectory.model.UpdateSchemaResponse;
import software.amazon.awssdk.services.clouddirectory.model.UpdateTypedLinkFacetRequest;
import software.amazon.awssdk.services.clouddirectory.model.UpdateTypedLinkFacetResponse;
import software.amazon.awssdk.services.clouddirectory.model.UpgradeAppliedSchemaRequest;
import software.amazon.awssdk.services.clouddirectory.model.UpgradeAppliedSchemaResponse;
import software.amazon.awssdk.services.clouddirectory.model.UpgradePublishedSchemaRequest;
import software.amazon.awssdk.services.clouddirectory.model.UpgradePublishedSchemaResponse;
import software.amazon.awssdk.services.clouddirectory.model.ValidationException;
import software.amazon.awssdk.services.clouddirectory.paginators.ListAppliedSchemaArnsPublisher;
import software.amazon.awssdk.services.clouddirectory.paginators.ListAttachedIndicesPublisher;
import software.amazon.awssdk.services.clouddirectory.paginators.ListDevelopmentSchemaArnsPublisher;
import software.amazon.awssdk.services.clouddirectory.paginators.ListDirectoriesPublisher;
import software.amazon.awssdk.services.clouddirectory.paginators.ListFacetAttributesPublisher;
import software.amazon.awssdk.services.clouddirectory.paginators.ListFacetNamesPublisher;
import software.amazon.awssdk.services.clouddirectory.paginators.ListIndexPublisher;
import software.amazon.awssdk.services.clouddirectory.paginators.ListManagedSchemaArnsPublisher;
import software.amazon.awssdk.services.clouddirectory.paginators.ListObjectAttributesPublisher;
import software.amazon.awssdk.services.clouddirectory.paginators.ListObjectChildrenPublisher;
import software.amazon.awssdk.services.clouddirectory.paginators.ListObjectParentPathsPublisher;
import software.amazon.awssdk.services.clouddirectory.paginators.ListObjectParentsPublisher;
import software.amazon.awssdk.services.clouddirectory.paginators.ListObjectPoliciesPublisher;
import software.amazon.awssdk.services.clouddirectory.paginators.ListPolicyAttachmentsPublisher;
import software.amazon.awssdk.services.clouddirectory.paginators.ListPublishedSchemaArnsPublisher;
import software.amazon.awssdk.services.clouddirectory.paginators.ListTagsForResourcePublisher;
import software.amazon.awssdk.services.clouddirectory.paginators.ListTypedLinkFacetAttributesPublisher;
import software.amazon.awssdk.services.clouddirectory.paginators.ListTypedLinkFacetNamesPublisher;
import software.amazon.awssdk.services.clouddirectory.paginators.LookupPolicyPublisher;
import software.amazon.awssdk.services.clouddirectory.transform.AddFacetToObjectRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.ApplySchemaRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.AttachObjectRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.AttachPolicyRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.AttachToIndexRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.AttachTypedLinkRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.BatchReadRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.BatchWriteRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.CreateDirectoryRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.CreateFacetRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.CreateIndexRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.CreateObjectRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.CreateSchemaRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.CreateTypedLinkFacetRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.DeleteDirectoryRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.DeleteFacetRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.DeleteObjectRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.DeleteSchemaRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.DeleteTypedLinkFacetRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.DetachFromIndexRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.DetachObjectRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.DetachPolicyRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.DetachTypedLinkRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.DisableDirectoryRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.EnableDirectoryRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.GetAppliedSchemaVersionRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.GetDirectoryRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.GetFacetRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.GetLinkAttributesRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.GetObjectAttributesRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.GetObjectInformationRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.GetSchemaAsJsonRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.GetTypedLinkFacetInformationRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.ListAppliedSchemaArnsRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.ListAttachedIndicesRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.ListDevelopmentSchemaArnsRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.ListDirectoriesRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.ListFacetAttributesRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.ListFacetNamesRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.ListIncomingTypedLinksRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.ListIndexRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.ListManagedSchemaArnsRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.ListObjectAttributesRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.ListObjectChildrenRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.ListObjectParentPathsRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.ListObjectParentsRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.ListObjectPoliciesRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.ListOutgoingTypedLinksRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.ListPolicyAttachmentsRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.ListPublishedSchemaArnsRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.ListTagsForResourceRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.ListTypedLinkFacetAttributesRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.ListTypedLinkFacetNamesRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.LookupPolicyRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.PublishSchemaRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.PutSchemaFromJsonRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.RemoveFacetFromObjectRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.TagResourceRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.UntagResourceRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.UpdateFacetRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.UpdateLinkAttributesRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.UpdateObjectAttributesRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.UpdateSchemaRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.UpdateTypedLinkFacetRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.UpgradeAppliedSchemaRequestMarshaller;
import software.amazon.awssdk.services.clouddirectory.transform.UpgradePublishedSchemaRequestMarshaller;
import software.amazon.awssdk.utils.CompletableFutureUtils;
/**
* Internal implementation of {@link CloudDirectoryAsyncClient}.
*
* @see CloudDirectoryAsyncClient#builder()
*/
@Generated("software.amazon.awssdk:codegen")
@SdkInternalApi
final class DefaultCloudDirectoryAsyncClient implements CloudDirectoryAsyncClient {
private static final Logger log = LoggerFactory.getLogger(DefaultCloudDirectoryAsyncClient.class);
private final AsyncClientHandler clientHandler;
private final AwsJsonProtocolFactory protocolFactory;
private final SdkClientConfiguration clientConfiguration;
protected DefaultCloudDirectoryAsyncClient(SdkClientConfiguration clientConfiguration) {
this.clientHandler = new AwsAsyncClientHandler(clientConfiguration);
this.clientConfiguration = clientConfiguration;
this.protocolFactory = init(AwsJsonProtocolFactory.builder()).build();
}
@Override
public final String serviceName() {
return SERVICE_NAME;
}
/**
*
* Adds a new Facet to an object. An object can have more than one facet applied on it.
*
*
* @param addFacetToObjectRequest
* @return A Java Future containing the result of the AddFacetToObject operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - FacetValidationException The Facet that you provided was not well formed or could not be
* validated with the schema.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.AddFacetToObject
* @see AWS API Documentation
*/
@Override
public CompletableFuture addFacetToObject(AddFacetToObjectRequest addFacetToObjectRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, AddFacetToObjectResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("AddFacetToObject")
.withMarshaller(new AddFacetToObjectRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(addFacetToObjectRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Copies the input published schema, at the specified version, into the Directory with the same name and
* version as that of the published schema.
*
*
* @param applySchemaRequest
* @return A Java Future containing the result of the ApplySchema operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - SchemaAlreadyExistsException Indicates that a schema could not be created due to a naming conflict.
* Please select a different name and then try again.
* - ResourceNotFoundException The specified resource could not be found.
* - InvalidAttachmentException Indicates that an attempt to make an attachment was invalid. For example,
* attaching two nodes with a link type that is not applicable to the nodes or attempting to apply a schema
* to a directory a second time.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ApplySchema
* @see AWS API
* Documentation
*/
@Override
public CompletableFuture applySchema(ApplySchemaRequest applySchemaRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata,
ApplySchemaResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("ApplySchema").withMarshaller(new ApplySchemaRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(applySchemaRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Attaches an existing object to another object. An object can be accessed in two ways:
*
*
* -
*
* Using the path
*
*
* -
*
* Using ObjectIdentifier
*
*
*
*
* @param attachObjectRequest
* @return A Java Future containing the result of the AttachObject operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - LinkNameAlreadyInUseException Indicates that a link could not be created due to a naming conflict.
* Choose a different name and then try again.
* - InvalidAttachmentException Indicates that an attempt to make an attachment was invalid. For example,
* attaching two nodes with a link type that is not applicable to the nodes or attempting to apply a schema
* to a directory a second time.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - FacetValidationException The Facet that you provided was not well formed or could not be
* validated with the schema.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.AttachObject
* @see AWS
* API Documentation
*/
@Override
public CompletableFuture attachObject(AttachObjectRequest attachObjectRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata,
AttachObjectResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("AttachObject").withMarshaller(new AttachObjectRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(attachObjectRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Attaches a policy object to a regular object. An object can have a limited number of attached policies.
*
*
* @param attachPolicyRequest
* @return A Java Future containing the result of the AttachPolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - NotPolicyException Indicates that the requested operation can only operate on policy objects.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.AttachPolicy
* @see AWS
* API Documentation
*/
@Override
public CompletableFuture attachPolicy(AttachPolicyRequest attachPolicyRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata,
AttachPolicyResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("AttachPolicy").withMarshaller(new AttachPolicyRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(attachPolicyRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Attaches the specified object to the specified index.
*
*
* @param attachToIndexRequest
* @return A Java Future containing the result of the AttachToIndex operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - InvalidAttachmentException Indicates that an attempt to make an attachment was invalid. For example,
* attaching two nodes with a link type that is not applicable to the nodes or attempting to apply a schema
* to a directory a second time.
* - ResourceNotFoundException The specified resource could not be found.
* - LinkNameAlreadyInUseException Indicates that a link could not be created due to a naming conflict.
* Choose a different name and then try again.
* - IndexedAttributeMissingException An object has been attempted to be attached to an object that does
* not have the appropriate attribute value.
* - NotIndexException Indicates that the requested operation can only operate on index objects.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.AttachToIndex
* @see AWS
* API Documentation
*/
@Override
public CompletableFuture attachToIndex(AttachToIndexRequest attachToIndexRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata,
AttachToIndexResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("AttachToIndex")
.withMarshaller(new AttachToIndexRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(attachToIndexRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Attaches a typed link to a specified source and target object. For more information, see Typed Links.
*
*
* @param attachTypedLinkRequest
* @return A Java Future containing the result of the AttachTypedLink operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - InvalidAttachmentException Indicates that an attempt to make an attachment was invalid. For example,
* attaching two nodes with a link type that is not applicable to the nodes or attempting to apply a schema
* to a directory a second time.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - FacetValidationException The Facet that you provided was not well formed or could not be
* validated with the schema.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.AttachTypedLink
* @see AWS
* API Documentation
*/
@Override
public CompletableFuture attachTypedLink(AttachTypedLinkRequest attachTypedLinkRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, AttachTypedLinkResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("AttachTypedLink")
.withMarshaller(new AttachTypedLinkRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(attachTypedLinkRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Performs all the read operations in a batch.
*
*
* @param batchReadRequest
* @return A Java Future containing the result of the BatchRead operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.BatchRead
* @see AWS API
* Documentation
*/
@Override
public CompletableFuture batchRead(BatchReadRequest batchReadRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata,
BatchReadResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams().withOperationName("BatchRead")
.withMarshaller(new BatchReadRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler)
.withErrorResponseHandler(errorResponseHandler).withInput(batchReadRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Performs all the write operations in a batch. Either all the operations succeed or none.
*
*
* @param batchWriteRequest
* @return A Java Future containing the result of the BatchWrite operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - BatchWriteException A
BatchWrite
exception has occurred.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.BatchWrite
* @see AWS API
* Documentation
*/
@Override
public CompletableFuture batchWrite(BatchWriteRequest batchWriteRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata,
BatchWriteResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams().withOperationName("BatchWrite")
.withMarshaller(new BatchWriteRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(batchWriteRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* 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.
*
*
* @param createDirectoryRequest
* @return A Java Future containing the result of the CreateDirectory operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryAlreadyExistsException Indicates that a Directory could not be created due to a
* naming conflict. Choose a different name and try again.
* - ResourceNotFoundException The specified resource could not be found.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.CreateDirectory
* @see AWS
* API Documentation
*/
@Override
public CompletableFuture createDirectory(CreateDirectoryRequest createDirectoryRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, CreateDirectoryResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("CreateDirectory")
.withMarshaller(new CreateDirectoryRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(createDirectoryRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Creates a new Facet in a schema. Facet creation is allowed only in development or applied schemas.
*
*
* @param createFacetRequest
* @return A Java Future containing the result of the CreateFacet operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - ResourceNotFoundException The specified resource could not be found.
* - FacetAlreadyExistsException A facet with the same name already exists.
* - InvalidRuleException Occurs when any of the rule parameter keys or values are invalid.
* - FacetValidationException The Facet that you provided was not well formed or could not be
* validated with the schema.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.CreateFacet
* @see AWS API
* Documentation
*/
@Override
public CompletableFuture createFacet(CreateFacetRequest createFacetRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata,
CreateFacetResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("CreateFacet").withMarshaller(new CreateFacetRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(createFacetRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Creates an index object. See Indexing and
* search for more information.
*
*
* @param createIndexRequest
* @return A Java Future containing the result of the CreateIndex operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - FacetValidationException The Facet that you provided was not well formed or could not be
* validated with the schema.
* - LinkNameAlreadyInUseException Indicates that a link could not be created due to a naming conflict.
* Choose a different name and then try again.
* - UnsupportedIndexTypeException Indicates that the requested index type is not supported.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.CreateIndex
* @see AWS API
* Documentation
*/
@Override
public CompletableFuture createIndex(CreateIndexRequest createIndexRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata,
CreateIndexResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("CreateIndex").withMarshaller(new CreateIndexRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(createIndexRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* 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.
*
*
* @param createObjectRequest
* @return A Java Future containing the result of the CreateObject operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - FacetValidationException The Facet that you provided was not well formed or could not be
* validated with the schema.
* - LinkNameAlreadyInUseException Indicates that a link could not be created due to a naming conflict.
* Choose a different name and then try again.
* - UnsupportedIndexTypeException Indicates that the requested index type is not supported.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.CreateObject
* @see AWS
* API Documentation
*/
@Override
public CompletableFuture createObject(CreateObjectRequest createObjectRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata,
CreateObjectResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("CreateObject").withMarshaller(new CreateObjectRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(createObjectRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* 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.
*
*
*
*
* @param createSchemaRequest
* @return A Java Future containing the result of the CreateSchema operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - SchemaAlreadyExistsException Indicates that a schema could not be created due to a naming conflict.
* Please select a different name and then try again.
* - AccessDeniedException Access denied. Check your permissions.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.CreateSchema
* @see AWS
* API Documentation
*/
@Override
public CompletableFuture createSchema(CreateSchemaRequest createSchemaRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata,
CreateSchemaResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("CreateSchema").withMarshaller(new CreateSchemaRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(createSchemaRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Creates a TypedLinkFacet. For more information, see Typed Links.
*
*
* @param createTypedLinkFacetRequest
* @return A Java Future containing the result of the CreateTypedLinkFacet operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - ResourceNotFoundException The specified resource could not be found.
* - FacetAlreadyExistsException A facet with the same name already exists.
* - InvalidRuleException Occurs when any of the rule parameter keys or values are invalid.
* - FacetValidationException The Facet that you provided was not well formed or could not be
* validated with the schema.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.CreateTypedLinkFacet
* @see AWS API Documentation
*/
@Override
public CompletableFuture createTypedLinkFacet(
CreateTypedLinkFacetRequest createTypedLinkFacetRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, CreateTypedLinkFacetResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("CreateTypedLinkFacet")
.withMarshaller(new CreateTypedLinkFacetRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(createTypedLinkFacetRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Deletes a directory. Only disabled directories can be deleted. A deleted directory cannot be undone. Exercise
* extreme caution when deleting directories.
*
*
* @param deleteDirectoryRequest
* @return A Java Future containing the result of the DeleteDirectory operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - ResourceNotFoundException The specified resource could not be found.
* - DirectoryNotDisabledException An operation can only operate on a disabled directory.
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryDeletedException A directory that has been deleted and to which access has been attempted.
* Note: The requested resource will eventually cease to exist.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.DeleteDirectory
* @see AWS
* API Documentation
*/
@Override
public CompletableFuture deleteDirectory(DeleteDirectoryRequest deleteDirectoryRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, DeleteDirectoryResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DeleteDirectory")
.withMarshaller(new DeleteDirectoryRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(deleteDirectoryRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Deletes a given Facet. All attributes and Rules that are associated with the facet will be deleted.
* Only development schema facets are allowed deletion.
*
*
* @param deleteFacetRequest
* @return A Java Future containing the result of the DeleteFacet operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - ResourceNotFoundException The specified resource could not be found.
* - FacetNotFoundException The specified Facet could not be found.
* - FacetInUseException Occurs when deleting a facet that contains an attribute that is a target to an
* attribute reference in a different facet.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.DeleteFacet
* @see AWS API
* Documentation
*/
@Override
public CompletableFuture deleteFacet(DeleteFacetRequest deleteFacetRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata,
DeleteFacetResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DeleteFacet").withMarshaller(new DeleteFacetRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(deleteFacetRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* 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.
*
*
* @param deleteObjectRequest
* @return A Java Future containing the result of the DeleteObject operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - ObjectNotDetachedException Indicates that the requested operation cannot be completed because the
* object has not been detached from the tree.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.DeleteObject
* @see AWS
* API Documentation
*/
@Override
public CompletableFuture deleteObject(DeleteObjectRequest deleteObjectRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata,
DeleteObjectResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DeleteObject").withMarshaller(new DeleteObjectRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(deleteObjectRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Deletes a given schema. Schemas in a development and published state can only be deleted.
*
*
* @param deleteSchemaRequest
* @return A Java Future containing the result of the DeleteSchema operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - ResourceNotFoundException The specified resource could not be found.
* - StillContainsLinksException The object could not be deleted because links still exist. Remove the
* links and then try the operation again.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.DeleteSchema
* @see AWS
* API Documentation
*/
@Override
public CompletableFuture deleteSchema(DeleteSchemaRequest deleteSchemaRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata,
DeleteSchemaResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DeleteSchema").withMarshaller(new DeleteSchemaRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(deleteSchemaRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Deletes a TypedLinkFacet. For more information, see Typed Links.
*
*
* @param deleteTypedLinkFacetRequest
* @return A Java Future containing the result of the DeleteTypedLinkFacet operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - ResourceNotFoundException The specified resource could not be found.
* - FacetNotFoundException The specified Facet could not be found.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.DeleteTypedLinkFacet
* @see AWS API Documentation
*/
@Override
public CompletableFuture deleteTypedLinkFacet(
DeleteTypedLinkFacetRequest deleteTypedLinkFacetRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, DeleteTypedLinkFacetResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DeleteTypedLinkFacet")
.withMarshaller(new DeleteTypedLinkFacetRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(deleteTypedLinkFacetRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Detaches the specified object from the specified index.
*
*
* @param detachFromIndexRequest
* @return A Java Future containing the result of the DetachFromIndex operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - ObjectAlreadyDetachedException Indicates that the object is not attached to the index.
* - NotIndexException Indicates that the requested operation can only operate on index objects.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.DetachFromIndex
* @see AWS
* API Documentation
*/
@Override
public CompletableFuture detachFromIndex(DetachFromIndexRequest detachFromIndexRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, DetachFromIndexResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DetachFromIndex")
.withMarshaller(new DetachFromIndexRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(detachFromIndexRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Detaches a given object from the parent object. The object that is to be detached from the parent is specified by
* the link name.
*
*
* @param detachObjectRequest
* @return A Java Future containing the result of the DetachObject operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - NotNodeException Occurs when any invalid operations are performed on an object that is not a node,
* such as calling
ListObjectChildren
for a leaf node object.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.DetachObject
* @see AWS
* API Documentation
*/
@Override
public CompletableFuture detachObject(DetachObjectRequest detachObjectRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata,
DetachObjectResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DetachObject").withMarshaller(new DetachObjectRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(detachObjectRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Detaches a policy from an object.
*
*
* @param detachPolicyRequest
* @return A Java Future containing the result of the DetachPolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - NotPolicyException Indicates that the requested operation can only operate on policy objects.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.DetachPolicy
* @see AWS
* API Documentation
*/
@Override
public CompletableFuture detachPolicy(DetachPolicyRequest detachPolicyRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata,
DetachPolicyResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DetachPolicy").withMarshaller(new DetachPolicyRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(detachPolicyRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Detaches a typed link from a specified source and target object. For more information, see Typed Links.
*
*
* @param detachTypedLinkRequest
* @return A Java Future containing the result of the DetachTypedLink operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - FacetValidationException The Facet that you provided was not well formed or could not be
* validated with the schema.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.DetachTypedLink
* @see AWS
* API Documentation
*/
@Override
public CompletableFuture detachTypedLink(DetachTypedLinkRequest detachTypedLinkRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, DetachTypedLinkResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DetachTypedLink")
.withMarshaller(new DetachTypedLinkRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(detachTypedLinkRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Disables the specified directory. Disabled directories cannot be read or written to. Only enabled directories can
* be disabled. Disabled directories may be reenabled.
*
*
* @param disableDirectoryRequest
* @return A Java Future containing the result of the DisableDirectory operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - ResourceNotFoundException The specified resource could not be found.
* - DirectoryDeletedException A directory that has been deleted and to which access has been attempted.
* Note: The requested resource will eventually cease to exist.
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.DisableDirectory
* @see AWS API Documentation
*/
@Override
public CompletableFuture disableDirectory(DisableDirectoryRequest disableDirectoryRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, DisableDirectoryResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("DisableDirectory")
.withMarshaller(new DisableDirectoryRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(disableDirectoryRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Enables the specified directory. Only disabled directories can be enabled. Once enabled, the directory can then
* be read and written to.
*
*
* @param enableDirectoryRequest
* @return A Java Future containing the result of the EnableDirectory operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - ResourceNotFoundException The specified resource could not be found.
* - DirectoryDeletedException A directory that has been deleted and to which access has been attempted.
* Note: The requested resource will eventually cease to exist.
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.EnableDirectory
* @see AWS
* API Documentation
*/
@Override
public CompletableFuture enableDirectory(EnableDirectoryRequest enableDirectoryRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, EnableDirectoryResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("EnableDirectory")
.withMarshaller(new EnableDirectoryRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(enableDirectoryRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Returns current applied schema version ARN, including the minor version in use.
*
*
* @param getAppliedSchemaVersionRequest
* @return A Java Future containing the result of the GetAppliedSchemaVersion operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - ResourceNotFoundException The specified resource could not be found.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.GetAppliedSchemaVersion
* @see AWS API Documentation
*/
@Override
public CompletableFuture getAppliedSchemaVersion(
GetAppliedSchemaVersionRequest getAppliedSchemaVersionRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, GetAppliedSchemaVersionResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("GetAppliedSchemaVersion")
.withMarshaller(new GetAppliedSchemaVersionRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(getAppliedSchemaVersionRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Retrieves metadata about a directory.
*
*
* @param getDirectoryRequest
* @return A Java Future containing the result of the GetDirectory operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.GetDirectory
* @see AWS
* API Documentation
*/
@Override
public CompletableFuture getDirectory(GetDirectoryRequest getDirectoryRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata,
GetDirectoryResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("GetDirectory").withMarshaller(new GetDirectoryRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(getDirectoryRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* 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.
*
*
* @param getFacetRequest
* @return A Java Future containing the result of the GetFacet operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - ResourceNotFoundException The specified resource could not be found.
* - FacetNotFoundException The specified Facet could not be found.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.GetFacet
* @see AWS API
* Documentation
*/
@Override
public CompletableFuture getFacet(GetFacetRequest getFacetRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata,
GetFacetResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams().withOperationName("GetFacet")
.withMarshaller(new GetFacetRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler)
.withErrorResponseHandler(errorResponseHandler).withInput(getFacetRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Retrieves attributes that are associated with a typed link.
*
*
* @param getLinkAttributesRequest
* @return A Java Future containing the result of the GetLinkAttributes operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - FacetValidationException The Facet that you provided was not well formed or could not be
* validated with the schema.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.GetLinkAttributes
* @see AWS API Documentation
*/
@Override
public CompletableFuture getLinkAttributes(GetLinkAttributesRequest getLinkAttributesRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, GetLinkAttributesResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("GetLinkAttributes")
.withMarshaller(new GetLinkAttributesRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(getLinkAttributesRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Retrieves attributes within a facet that are associated with an object.
*
*
* @param getObjectAttributesRequest
* @return A Java Future containing the result of the GetObjectAttributes operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - FacetValidationException The Facet that you provided was not well formed or could not be
* validated with the schema.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.GetObjectAttributes
* @see AWS API Documentation
*/
@Override
public CompletableFuture getObjectAttributes(
GetObjectAttributesRequest getObjectAttributesRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, GetObjectAttributesResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("GetObjectAttributes")
.withMarshaller(new GetObjectAttributesRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(getObjectAttributesRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Retrieves metadata about an object.
*
*
* @param getObjectInformationRequest
* @return A Java Future containing the result of the GetObjectInformation operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.GetObjectInformation
* @see AWS API Documentation
*/
@Override
public CompletableFuture getObjectInformation(
GetObjectInformationRequest getObjectInformationRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, GetObjectInformationResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("GetObjectInformation")
.withMarshaller(new GetObjectInformationRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(getObjectInformationRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Retrieves a JSON representation of the schema. See JSON
* Schema Format for more information.
*
*
* @param getSchemaAsJsonRequest
* @return A Java Future containing the result of the GetSchemaAsJson operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - ResourceNotFoundException The specified resource could not be found.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.GetSchemaAsJson
* @see AWS
* API Documentation
*/
@Override
public CompletableFuture getSchemaAsJson(GetSchemaAsJsonRequest getSchemaAsJsonRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, GetSchemaAsJsonResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("GetSchemaAsJson")
.withMarshaller(new GetSchemaAsJsonRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(getSchemaAsJsonRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Returns the identity attribute order for a specific TypedLinkFacet. For more information, see Typed Links.
*
*
* @param getTypedLinkFacetInformationRequest
* @return A Java Future containing the result of the GetTypedLinkFacetInformation operation returned by the
* service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - ResourceNotFoundException The specified resource could not be found.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - FacetNotFoundException The specified Facet could not be found.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.GetTypedLinkFacetInformation
* @see AWS API Documentation
*/
@Override
public CompletableFuture getTypedLinkFacetInformation(
GetTypedLinkFacetInformationRequest getTypedLinkFacetInformationRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, GetTypedLinkFacetInformationResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("GetTypedLinkFacetInformation")
.withMarshaller(new GetTypedLinkFacetInformationRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(getTypedLinkFacetInformationRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Lists schema major versions applied to a directory. If SchemaArn
is provided, lists the minor
* version.
*
*
* @param listAppliedSchemaArnsRequest
* @return A Java Future containing the result of the ListAppliedSchemaArns operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - ResourceNotFoundException The specified resource could not be found.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListAppliedSchemaArns
* @see AWS API Documentation
*/
@Override
public CompletableFuture listAppliedSchemaArns(
ListAppliedSchemaArnsRequest listAppliedSchemaArnsRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, ListAppliedSchemaArnsResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("ListAppliedSchemaArns")
.withMarshaller(new ListAppliedSchemaArnsRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(listAppliedSchemaArnsRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Lists schema major versions applied to a directory. If SchemaArn
is provided, lists the minor
* version.
*
*
*
* This is a variant of
* {@link #listAppliedSchemaArns(software.amazon.awssdk.services.clouddirectory.model.ListAppliedSchemaArnsRequest)}
* operation. The return type is a custom publisher that can be subscribed to request a stream of response pages.
* SDK will internally handle making service calls for you.
*
*
* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet
* and so there is no guarantee that the request is valid. If there are errors in your request, you will see the
* failures only after you start streaming the data. The subscribe method should be called as a request to start
* streaming data. For more info, see
* {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe
* method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the
* starting request.
*
*
*
* The following are few ways to use the response class:
*
* 1) Using the subscribe helper method
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListAppliedSchemaArnsPublisher publisher = client.listAppliedSchemaArnsPaginator(request);
* CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
* future.get();
* }
*
*
* 2) Using a custom subscriber
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListAppliedSchemaArnsPublisher publisher = client.listAppliedSchemaArnsPaginator(request);
* publisher.subscribe(new Subscriber() {
*
* public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
*
*
* public void onNext(software.amazon.awssdk.services.clouddirectory.model.ListAppliedSchemaArnsResponse response) { //... };
* });}
*
*
* As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.
*
* Note: If you prefer to have control on service calls, use the
* {@link #listAppliedSchemaArns(software.amazon.awssdk.services.clouddirectory.model.ListAppliedSchemaArnsRequest)}
* operation.
*
*
* @param listAppliedSchemaArnsRequest
* @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - ResourceNotFoundException The specified resource could not be found.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListAppliedSchemaArns
* @see AWS API Documentation
*/
public ListAppliedSchemaArnsPublisher listAppliedSchemaArnsPaginator(ListAppliedSchemaArnsRequest listAppliedSchemaArnsRequest) {
return new ListAppliedSchemaArnsPublisher(this, applyPaginatorUserAgent(listAppliedSchemaArnsRequest));
}
/**
*
* Lists indices attached to the specified object.
*
*
* @param listAttachedIndicesRequest
* @return A Java Future containing the result of the ListAttachedIndices operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListAttachedIndices
* @see AWS API Documentation
*/
@Override
public CompletableFuture listAttachedIndices(
ListAttachedIndicesRequest listAttachedIndicesRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, ListAttachedIndicesResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("ListAttachedIndices")
.withMarshaller(new ListAttachedIndicesRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(listAttachedIndicesRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Lists indices attached to the specified object.
*
*
*
* This is a variant of
* {@link #listAttachedIndices(software.amazon.awssdk.services.clouddirectory.model.ListAttachedIndicesRequest)}
* operation. The return type is a custom publisher that can be subscribed to request a stream of response pages.
* SDK will internally handle making service calls for you.
*
*
* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet
* and so there is no guarantee that the request is valid. If there are errors in your request, you will see the
* failures only after you start streaming the data. The subscribe method should be called as a request to start
* streaming data. For more info, see
* {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe
* method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the
* starting request.
*
*
*
* The following are few ways to use the response class:
*
* 1) Using the subscribe helper method
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListAttachedIndicesPublisher publisher = client.listAttachedIndicesPaginator(request);
* CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
* future.get();
* }
*
*
* 2) Using a custom subscriber
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListAttachedIndicesPublisher publisher = client.listAttachedIndicesPaginator(request);
* publisher.subscribe(new Subscriber() {
*
* public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
*
*
* public void onNext(software.amazon.awssdk.services.clouddirectory.model.ListAttachedIndicesResponse response) { //... };
* });}
*
*
* As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.
*
* Note: If you prefer to have control on service calls, use the
* {@link #listAttachedIndices(software.amazon.awssdk.services.clouddirectory.model.ListAttachedIndicesRequest)}
* operation.
*
*
* @param listAttachedIndicesRequest
* @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListAttachedIndices
* @see AWS API Documentation
*/
public ListAttachedIndicesPublisher listAttachedIndicesPaginator(ListAttachedIndicesRequest listAttachedIndicesRequest) {
return new ListAttachedIndicesPublisher(this, applyPaginatorUserAgent(listAttachedIndicesRequest));
}
/**
*
* Retrieves each Amazon Resource Name (ARN) of schemas in the development state.
*
*
* @param listDevelopmentSchemaArnsRequest
* @return A Java Future containing the result of the ListDevelopmentSchemaArns operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - ResourceNotFoundException The specified resource could not be found.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListDevelopmentSchemaArns
* @see AWS API Documentation
*/
@Override
public CompletableFuture listDevelopmentSchemaArns(
ListDevelopmentSchemaArnsRequest listDevelopmentSchemaArnsRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, ListDevelopmentSchemaArnsResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("ListDevelopmentSchemaArns")
.withMarshaller(new ListDevelopmentSchemaArnsRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(listDevelopmentSchemaArnsRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Retrieves each Amazon Resource Name (ARN) of schemas in the development state.
*
*
*
* This is a variant of
* {@link #listDevelopmentSchemaArns(software.amazon.awssdk.services.clouddirectory.model.ListDevelopmentSchemaArnsRequest)}
* operation. The return type is a custom publisher that can be subscribed to request a stream of response pages.
* SDK will internally handle making service calls for you.
*
*
* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet
* and so there is no guarantee that the request is valid. If there are errors in your request, you will see the
* failures only after you start streaming the data. The subscribe method should be called as a request to start
* streaming data. For more info, see
* {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe
* method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the
* starting request.
*
*
*
* The following are few ways to use the response class:
*
* 1) Using the subscribe helper method
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListDevelopmentSchemaArnsPublisher publisher = client.listDevelopmentSchemaArnsPaginator(request);
* CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
* future.get();
* }
*
*
* 2) Using a custom subscriber
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListDevelopmentSchemaArnsPublisher publisher = client.listDevelopmentSchemaArnsPaginator(request);
* publisher.subscribe(new Subscriber() {
*
* public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
*
*
* public void onNext(software.amazon.awssdk.services.clouddirectory.model.ListDevelopmentSchemaArnsResponse response) { //... };
* });}
*
*
* As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.
*
* Note: If you prefer to have control on service calls, use the
* {@link #listDevelopmentSchemaArns(software.amazon.awssdk.services.clouddirectory.model.ListDevelopmentSchemaArnsRequest)}
* operation.
*
*
* @param listDevelopmentSchemaArnsRequest
* @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - ResourceNotFoundException The specified resource could not be found.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListDevelopmentSchemaArns
* @see AWS API Documentation
*/
public ListDevelopmentSchemaArnsPublisher listDevelopmentSchemaArnsPaginator(
ListDevelopmentSchemaArnsRequest listDevelopmentSchemaArnsRequest) {
return new ListDevelopmentSchemaArnsPublisher(this, applyPaginatorUserAgent(listDevelopmentSchemaArnsRequest));
}
/**
*
* Lists directories created within an account.
*
*
* @param listDirectoriesRequest
* @return A Java Future containing the result of the ListDirectories operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListDirectories
* @see AWS
* API Documentation
*/
@Override
public CompletableFuture listDirectories(ListDirectoriesRequest listDirectoriesRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, ListDirectoriesResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("ListDirectories")
.withMarshaller(new ListDirectoriesRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(listDirectoriesRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Lists directories created within an account.
*
*
*
* This is a variant of
* {@link #listDirectories(software.amazon.awssdk.services.clouddirectory.model.ListDirectoriesRequest)} operation.
* The return type is a custom publisher that can be subscribed to request a stream of response pages. SDK will
* internally handle making service calls for you.
*
*
* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet
* and so there is no guarantee that the request is valid. If there are errors in your request, you will see the
* failures only after you start streaming the data. The subscribe method should be called as a request to start
* streaming data. For more info, see
* {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe
* method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the
* starting request.
*
*
*
* The following are few ways to use the response class:
*
* 1) Using the subscribe helper method
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListDirectoriesPublisher publisher = client.listDirectoriesPaginator(request);
* CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
* future.get();
* }
*
*
* 2) Using a custom subscriber
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListDirectoriesPublisher publisher = client.listDirectoriesPaginator(request);
* publisher.subscribe(new Subscriber() {
*
* public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
*
*
* public void onNext(software.amazon.awssdk.services.clouddirectory.model.ListDirectoriesResponse response) { //... };
* });}
*
*
* As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.
*
* Note: If you prefer to have control on service calls, use the
* {@link #listDirectories(software.amazon.awssdk.services.clouddirectory.model.ListDirectoriesRequest)}
* operation.
*
*
* @param listDirectoriesRequest
* @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListDirectories
* @see AWS
* API Documentation
*/
public ListDirectoriesPublisher listDirectoriesPaginator(ListDirectoriesRequest listDirectoriesRequest) {
return new ListDirectoriesPublisher(this, applyPaginatorUserAgent(listDirectoriesRequest));
}
/**
*
* Retrieves attributes attached to the facet.
*
*
* @param listFacetAttributesRequest
* @return A Java Future containing the result of the ListFacetAttributes operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - ResourceNotFoundException The specified resource could not be found.
* - FacetNotFoundException The specified Facet could not be found.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListFacetAttributes
* @see AWS API Documentation
*/
@Override
public CompletableFuture listFacetAttributes(
ListFacetAttributesRequest listFacetAttributesRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, ListFacetAttributesResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("ListFacetAttributes")
.withMarshaller(new ListFacetAttributesRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(listFacetAttributesRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Retrieves attributes attached to the facet.
*
*
*
* This is a variant of
* {@link #listFacetAttributes(software.amazon.awssdk.services.clouddirectory.model.ListFacetAttributesRequest)}
* operation. The return type is a custom publisher that can be subscribed to request a stream of response pages.
* SDK will internally handle making service calls for you.
*
*
* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet
* and so there is no guarantee that the request is valid. If there are errors in your request, you will see the
* failures only after you start streaming the data. The subscribe method should be called as a request to start
* streaming data. For more info, see
* {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe
* method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the
* starting request.
*
*
*
* The following are few ways to use the response class:
*
* 1) Using the subscribe helper method
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListFacetAttributesPublisher publisher = client.listFacetAttributesPaginator(request);
* CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
* future.get();
* }
*
*
* 2) Using a custom subscriber
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListFacetAttributesPublisher publisher = client.listFacetAttributesPaginator(request);
* publisher.subscribe(new Subscriber() {
*
* public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
*
*
* public void onNext(software.amazon.awssdk.services.clouddirectory.model.ListFacetAttributesResponse response) { //... };
* });}
*
*
* As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.
*
* Note: If you prefer to have control on service calls, use the
* {@link #listFacetAttributes(software.amazon.awssdk.services.clouddirectory.model.ListFacetAttributesRequest)}
* operation.
*
*
* @param listFacetAttributesRequest
* @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - ResourceNotFoundException The specified resource could not be found.
* - FacetNotFoundException The specified Facet could not be found.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListFacetAttributes
* @see AWS API Documentation
*/
public ListFacetAttributesPublisher listFacetAttributesPaginator(ListFacetAttributesRequest listFacetAttributesRequest) {
return new ListFacetAttributesPublisher(this, applyPaginatorUserAgent(listFacetAttributesRequest));
}
/**
*
* Retrieves the names of facets that exist in a schema.
*
*
* @param listFacetNamesRequest
* @return A Java Future containing the result of the ListFacetNames operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - ResourceNotFoundException The specified resource could not be found.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListFacetNames
* @see AWS
* API Documentation
*/
@Override
public CompletableFuture listFacetNames(ListFacetNamesRequest listFacetNamesRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, ListFacetNamesResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("ListFacetNames")
.withMarshaller(new ListFacetNamesRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(listFacetNamesRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Retrieves the names of facets that exist in a schema.
*
*
*
* This is a variant of
* {@link #listFacetNames(software.amazon.awssdk.services.clouddirectory.model.ListFacetNamesRequest)} operation.
* The return type is a custom publisher that can be subscribed to request a stream of response pages. SDK will
* internally handle making service calls for you.
*
*
* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet
* and so there is no guarantee that the request is valid. If there are errors in your request, you will see the
* failures only after you start streaming the data. The subscribe method should be called as a request to start
* streaming data. For more info, see
* {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe
* method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the
* starting request.
*
*
*
* The following are few ways to use the response class:
*
* 1) Using the subscribe helper method
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListFacetNamesPublisher publisher = client.listFacetNamesPaginator(request);
* CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
* future.get();
* }
*
*
* 2) Using a custom subscriber
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListFacetNamesPublisher publisher = client.listFacetNamesPaginator(request);
* publisher.subscribe(new Subscriber() {
*
* public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
*
*
* public void onNext(software.amazon.awssdk.services.clouddirectory.model.ListFacetNamesResponse response) { //... };
* });}
*
*
* As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.
*
* Note: If you prefer to have control on service calls, use the
* {@link #listFacetNames(software.amazon.awssdk.services.clouddirectory.model.ListFacetNamesRequest)}
* operation.
*
*
* @param listFacetNamesRequest
* @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - ResourceNotFoundException The specified resource could not be found.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListFacetNames
* @see AWS
* API Documentation
*/
public ListFacetNamesPublisher listFacetNamesPaginator(ListFacetNamesRequest listFacetNamesRequest) {
return new ListFacetNamesPublisher(this, applyPaginatorUserAgent(listFacetNamesRequest));
}
/**
*
* 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.
*
*
* @param listIncomingTypedLinksRequest
* @return A Java Future containing the result of the ListIncomingTypedLinks operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - FacetValidationException The Facet that you provided was not well formed or could not be
* validated with the schema.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListIncomingTypedLinks
* @see AWS API Documentation
*/
@Override
public CompletableFuture listIncomingTypedLinks(
ListIncomingTypedLinksRequest listIncomingTypedLinksRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, ListIncomingTypedLinksResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("ListIncomingTypedLinks")
.withMarshaller(new ListIncomingTypedLinksRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(listIncomingTypedLinksRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Lists objects attached to the specified index.
*
*
* @param listIndexRequest
* @return A Java Future containing the result of the ListIndex operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - FacetValidationException The Facet that you provided was not well formed or could not be
* validated with the schema.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - ResourceNotFoundException The specified resource could not be found.
* - NotIndexException Indicates that the requested operation can only operate on index objects.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListIndex
* @see AWS API
* Documentation
*/
@Override
public CompletableFuture listIndex(ListIndexRequest listIndexRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata,
ListIndexResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams().withOperationName("ListIndex")
.withMarshaller(new ListIndexRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler)
.withErrorResponseHandler(errorResponseHandler).withInput(listIndexRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Lists objects attached to the specified index.
*
*
*
* This is a variant of {@link #listIndex(software.amazon.awssdk.services.clouddirectory.model.ListIndexRequest)}
* operation. The return type is a custom publisher that can be subscribed to request a stream of response pages.
* SDK will internally handle making service calls for you.
*
*
* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet
* and so there is no guarantee that the request is valid. If there are errors in your request, you will see the
* failures only after you start streaming the data. The subscribe method should be called as a request to start
* streaming data. For more info, see
* {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe
* method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the
* starting request.
*
*
*
* The following are few ways to use the response class:
*
* 1) Using the subscribe helper method
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListIndexPublisher publisher = client.listIndexPaginator(request);
* CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
* future.get();
* }
*
*
* 2) Using a custom subscriber
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListIndexPublisher publisher = client.listIndexPaginator(request);
* publisher.subscribe(new Subscriber() {
*
* public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
*
*
* public void onNext(software.amazon.awssdk.services.clouddirectory.model.ListIndexResponse response) { //... };
* });}
*
*
* As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.
*
* Note: If you prefer to have control on service calls, use the
* {@link #listIndex(software.amazon.awssdk.services.clouddirectory.model.ListIndexRequest)} operation.
*
*
* @param listIndexRequest
* @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - FacetValidationException The Facet that you provided was not well formed or could not be
* validated with the schema.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - ResourceNotFoundException The specified resource could not be found.
* - NotIndexException Indicates that the requested operation can only operate on index objects.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListIndex
* @see AWS API
* Documentation
*/
public ListIndexPublisher listIndexPaginator(ListIndexRequest listIndexRequest) {
return new ListIndexPublisher(this, applyPaginatorUserAgent(listIndexRequest));
}
/**
*
* 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.
*
*
* @param listManagedSchemaArnsRequest
* @return A Java Future containing the result of the ListManagedSchemaArns operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - AccessDeniedException Access denied. Check your permissions.
* - ResourceNotFoundException The specified resource could not be found.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListManagedSchemaArns
* @see AWS API Documentation
*/
@Override
public CompletableFuture listManagedSchemaArns(
ListManagedSchemaArnsRequest listManagedSchemaArnsRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, ListManagedSchemaArnsResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("ListManagedSchemaArns")
.withMarshaller(new ListManagedSchemaArnsRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(listManagedSchemaArnsRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* 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.
*
*
*
* This is a variant of
* {@link #listManagedSchemaArns(software.amazon.awssdk.services.clouddirectory.model.ListManagedSchemaArnsRequest)}
* operation. The return type is a custom publisher that can be subscribed to request a stream of response pages.
* SDK will internally handle making service calls for you.
*
*
* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet
* and so there is no guarantee that the request is valid. If there are errors in your request, you will see the
* failures only after you start streaming the data. The subscribe method should be called as a request to start
* streaming data. For more info, see
* {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe
* method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the
* starting request.
*
*
*
* The following are few ways to use the response class:
*
* 1) Using the subscribe helper method
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListManagedSchemaArnsPublisher publisher = client.listManagedSchemaArnsPaginator(request);
* CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
* future.get();
* }
*
*
* 2) Using a custom subscriber
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListManagedSchemaArnsPublisher publisher = client.listManagedSchemaArnsPaginator(request);
* publisher.subscribe(new Subscriber() {
*
* public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
*
*
* public void onNext(software.amazon.awssdk.services.clouddirectory.model.ListManagedSchemaArnsResponse response) { //... };
* });}
*
*
* As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.
*
* Note: If you prefer to have control on service calls, use the
* {@link #listManagedSchemaArns(software.amazon.awssdk.services.clouddirectory.model.ListManagedSchemaArnsRequest)}
* operation.
*
*
* @param listManagedSchemaArnsRequest
* @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - AccessDeniedException Access denied. Check your permissions.
* - ResourceNotFoundException The specified resource could not be found.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListManagedSchemaArns
* @see AWS API Documentation
*/
public ListManagedSchemaArnsPublisher listManagedSchemaArnsPaginator(ListManagedSchemaArnsRequest listManagedSchemaArnsRequest) {
return new ListManagedSchemaArnsPublisher(this, applyPaginatorUserAgent(listManagedSchemaArnsRequest));
}
/**
*
* Lists all attributes that are associated with an object.
*
*
* @param listObjectAttributesRequest
* @return A Java Future containing the result of the ListObjectAttributes operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - FacetValidationException The Facet that you provided was not well formed or could not be
* validated with the schema.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListObjectAttributes
* @see AWS API Documentation
*/
@Override
public CompletableFuture listObjectAttributes(
ListObjectAttributesRequest listObjectAttributesRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, ListObjectAttributesResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("ListObjectAttributes")
.withMarshaller(new ListObjectAttributesRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(listObjectAttributesRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Lists all attributes that are associated with an object.
*
*
*
* This is a variant of
* {@link #listObjectAttributes(software.amazon.awssdk.services.clouddirectory.model.ListObjectAttributesRequest)}
* operation. The return type is a custom publisher that can be subscribed to request a stream of response pages.
* SDK will internally handle making service calls for you.
*
*
* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet
* and so there is no guarantee that the request is valid. If there are errors in your request, you will see the
* failures only after you start streaming the data. The subscribe method should be called as a request to start
* streaming data. For more info, see
* {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe
* method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the
* starting request.
*
*
*
* The following are few ways to use the response class:
*
* 1) Using the subscribe helper method
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListObjectAttributesPublisher publisher = client.listObjectAttributesPaginator(request);
* CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
* future.get();
* }
*
*
* 2) Using a custom subscriber
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListObjectAttributesPublisher publisher = client.listObjectAttributesPaginator(request);
* publisher.subscribe(new Subscriber() {
*
* public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
*
*
* public void onNext(software.amazon.awssdk.services.clouddirectory.model.ListObjectAttributesResponse response) { //... };
* });}
*
*
* As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.
*
* Note: If you prefer to have control on service calls, use the
* {@link #listObjectAttributes(software.amazon.awssdk.services.clouddirectory.model.ListObjectAttributesRequest)}
* operation.
*
*
* @param listObjectAttributesRequest
* @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - FacetValidationException The Facet that you provided was not well formed or could not be
* validated with the schema.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListObjectAttributes
* @see AWS API Documentation
*/
public ListObjectAttributesPublisher listObjectAttributesPaginator(ListObjectAttributesRequest listObjectAttributesRequest) {
return new ListObjectAttributesPublisher(this, applyPaginatorUserAgent(listObjectAttributesRequest));
}
/**
*
* Returns a paginated list of child objects that are associated with a given object.
*
*
* @param listObjectChildrenRequest
* @return A Java Future containing the result of the ListObjectChildren operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - NotNodeException Occurs when any invalid operations are performed on an object that is not a node,
* such as calling
ListObjectChildren
for a leaf node object.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListObjectChildren
* @see AWS API Documentation
*/
@Override
public CompletableFuture listObjectChildren(ListObjectChildrenRequest listObjectChildrenRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, ListObjectChildrenResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("ListObjectChildren")
.withMarshaller(new ListObjectChildrenRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(listObjectChildrenRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Returns a paginated list of child objects that are associated with a given object.
*
*
*
* This is a variant of
* {@link #listObjectChildren(software.amazon.awssdk.services.clouddirectory.model.ListObjectChildrenRequest)}
* operation. The return type is a custom publisher that can be subscribed to request a stream of response pages.
* SDK will internally handle making service calls for you.
*
*
* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet
* and so there is no guarantee that the request is valid. If there are errors in your request, you will see the
* failures only after you start streaming the data. The subscribe method should be called as a request to start
* streaming data. For more info, see
* {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe
* method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the
* starting request.
*
*
*
* The following are few ways to use the response class:
*
* 1) Using the subscribe helper method
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListObjectChildrenPublisher publisher = client.listObjectChildrenPaginator(request);
* CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
* future.get();
* }
*
*
* 2) Using a custom subscriber
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListObjectChildrenPublisher publisher = client.listObjectChildrenPaginator(request);
* publisher.subscribe(new Subscriber() {
*
* public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
*
*
* public void onNext(software.amazon.awssdk.services.clouddirectory.model.ListObjectChildrenResponse response) { //... };
* });}
*
*
* As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.
*
* Note: If you prefer to have control on service calls, use the
* {@link #listObjectChildren(software.amazon.awssdk.services.clouddirectory.model.ListObjectChildrenRequest)}
* operation.
*
*
* @param listObjectChildrenRequest
* @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - NotNodeException Occurs when any invalid operations are performed on an object that is not a node,
* such as calling
ListObjectChildren
for a leaf node object.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListObjectChildren
* @see AWS API Documentation
*/
public ListObjectChildrenPublisher listObjectChildrenPaginator(ListObjectChildrenRequest listObjectChildrenRequest) {
return new ListObjectChildrenPublisher(this, applyPaginatorUserAgent(listObjectChildrenRequest));
}
/**
*
* 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.
*
*
* @param listObjectParentPathsRequest
* @return A Java Future containing the result of the ListObjectParentPaths operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - ResourceNotFoundException The specified resource could not be found.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListObjectParentPaths
* @see AWS API Documentation
*/
@Override
public CompletableFuture listObjectParentPaths(
ListObjectParentPathsRequest listObjectParentPathsRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, ListObjectParentPathsResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("ListObjectParentPaths")
.withMarshaller(new ListObjectParentPathsRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(listObjectParentPathsRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* 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.
*
*
*
* This is a variant of
* {@link #listObjectParentPaths(software.amazon.awssdk.services.clouddirectory.model.ListObjectParentPathsRequest)}
* operation. The return type is a custom publisher that can be subscribed to request a stream of response pages.
* SDK will internally handle making service calls for you.
*
*
* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet
* and so there is no guarantee that the request is valid. If there are errors in your request, you will see the
* failures only after you start streaming the data. The subscribe method should be called as a request to start
* streaming data. For more info, see
* {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe
* method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the
* starting request.
*
*
*
* The following are few ways to use the response class:
*
* 1) Using the subscribe helper method
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListObjectParentPathsPublisher publisher = client.listObjectParentPathsPaginator(request);
* CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
* future.get();
* }
*
*
* 2) Using a custom subscriber
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListObjectParentPathsPublisher publisher = client.listObjectParentPathsPaginator(request);
* publisher.subscribe(new Subscriber() {
*
* public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
*
*
* public void onNext(software.amazon.awssdk.services.clouddirectory.model.ListObjectParentPathsResponse response) { //... };
* });}
*
*
* As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.
*
* Note: If you prefer to have control on service calls, use the
* {@link #listObjectParentPaths(software.amazon.awssdk.services.clouddirectory.model.ListObjectParentPathsRequest)}
* operation.
*
*
* @param listObjectParentPathsRequest
* @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - ResourceNotFoundException The specified resource could not be found.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListObjectParentPaths
* @see AWS API Documentation
*/
public ListObjectParentPathsPublisher listObjectParentPathsPaginator(ListObjectParentPathsRequest listObjectParentPathsRequest) {
return new ListObjectParentPathsPublisher(this, applyPaginatorUserAgent(listObjectParentPathsRequest));
}
/**
*
* Lists parent objects that are associated with a given object in pagination fashion.
*
*
* @param listObjectParentsRequest
* @return A Java Future containing the result of the ListObjectParents operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - CannotListParentOfRootException Cannot list the parents of a Directory root.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListObjectParents
* @see AWS API Documentation
*/
@Override
public CompletableFuture listObjectParents(ListObjectParentsRequest listObjectParentsRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, ListObjectParentsResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("ListObjectParents")
.withMarshaller(new ListObjectParentsRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(listObjectParentsRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Lists parent objects that are associated with a given object in pagination fashion.
*
*
*
* This is a variant of
* {@link #listObjectParents(software.amazon.awssdk.services.clouddirectory.model.ListObjectParentsRequest)}
* operation. The return type is a custom publisher that can be subscribed to request a stream of response pages.
* SDK will internally handle making service calls for you.
*
*
* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet
* and so there is no guarantee that the request is valid. If there are errors in your request, you will see the
* failures only after you start streaming the data. The subscribe method should be called as a request to start
* streaming data. For more info, see
* {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe
* method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the
* starting request.
*
*
*
* The following are few ways to use the response class:
*
* 1) Using the subscribe helper method
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListObjectParentsPublisher publisher = client.listObjectParentsPaginator(request);
* CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
* future.get();
* }
*
*
* 2) Using a custom subscriber
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListObjectParentsPublisher publisher = client.listObjectParentsPaginator(request);
* publisher.subscribe(new Subscriber() {
*
* public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
*
*
* public void onNext(software.amazon.awssdk.services.clouddirectory.model.ListObjectParentsResponse response) { //... };
* });}
*
*
* As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.
*
* Note: If you prefer to have control on service calls, use the
* {@link #listObjectParents(software.amazon.awssdk.services.clouddirectory.model.ListObjectParentsRequest)}
* operation.
*
*
* @param listObjectParentsRequest
* @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - CannotListParentOfRootException Cannot list the parents of a Directory root.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListObjectParents
* @see AWS API Documentation
*/
public ListObjectParentsPublisher listObjectParentsPaginator(ListObjectParentsRequest listObjectParentsRequest) {
return new ListObjectParentsPublisher(this, applyPaginatorUserAgent(listObjectParentsRequest));
}
/**
*
* Returns policies attached to an object in pagination fashion.
*
*
* @param listObjectPoliciesRequest
* @return A Java Future containing the result of the ListObjectPolicies operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListObjectPolicies
* @see AWS API Documentation
*/
@Override
public CompletableFuture listObjectPolicies(ListObjectPoliciesRequest listObjectPoliciesRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, ListObjectPoliciesResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("ListObjectPolicies")
.withMarshaller(new ListObjectPoliciesRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(listObjectPoliciesRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Returns policies attached to an object in pagination fashion.
*
*
*
* This is a variant of
* {@link #listObjectPolicies(software.amazon.awssdk.services.clouddirectory.model.ListObjectPoliciesRequest)}
* operation. The return type is a custom publisher that can be subscribed to request a stream of response pages.
* SDK will internally handle making service calls for you.
*
*
* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet
* and so there is no guarantee that the request is valid. If there are errors in your request, you will see the
* failures only after you start streaming the data. The subscribe method should be called as a request to start
* streaming data. For more info, see
* {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe
* method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the
* starting request.
*
*
*
* The following are few ways to use the response class:
*
* 1) Using the subscribe helper method
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListObjectPoliciesPublisher publisher = client.listObjectPoliciesPaginator(request);
* CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
* future.get();
* }
*
*
* 2) Using a custom subscriber
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListObjectPoliciesPublisher publisher = client.listObjectPoliciesPaginator(request);
* publisher.subscribe(new Subscriber() {
*
* public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
*
*
* public void onNext(software.amazon.awssdk.services.clouddirectory.model.ListObjectPoliciesResponse response) { //... };
* });}
*
*
* As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.
*
* Note: If you prefer to have control on service calls, use the
* {@link #listObjectPolicies(software.amazon.awssdk.services.clouddirectory.model.ListObjectPoliciesRequest)}
* operation.
*
*
* @param listObjectPoliciesRequest
* @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListObjectPolicies
* @see AWS API Documentation
*/
public ListObjectPoliciesPublisher listObjectPoliciesPaginator(ListObjectPoliciesRequest listObjectPoliciesRequest) {
return new ListObjectPoliciesPublisher(this, applyPaginatorUserAgent(listObjectPoliciesRequest));
}
/**
*
* 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.
*
*
* @param listOutgoingTypedLinksRequest
* @return A Java Future containing the result of the ListOutgoingTypedLinks operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - ResourceNotFoundException The specified resource could not be found.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - FacetValidationException The Facet that you provided was not well formed or could not be
* validated with the schema.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListOutgoingTypedLinks
* @see AWS API Documentation
*/
@Override
public CompletableFuture listOutgoingTypedLinks(
ListOutgoingTypedLinksRequest listOutgoingTypedLinksRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, ListOutgoingTypedLinksResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("ListOutgoingTypedLinks")
.withMarshaller(new ListOutgoingTypedLinksRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(listOutgoingTypedLinksRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Returns all of the ObjectIdentifiers
to which a given policy is attached.
*
*
* @param listPolicyAttachmentsRequest
* @return A Java Future containing the result of the ListPolicyAttachments operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - ResourceNotFoundException The specified resource could not be found.
* - NotPolicyException Indicates that the requested operation can only operate on policy objects.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListPolicyAttachments
* @see AWS API Documentation
*/
@Override
public CompletableFuture listPolicyAttachments(
ListPolicyAttachmentsRequest listPolicyAttachmentsRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, ListPolicyAttachmentsResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("ListPolicyAttachments")
.withMarshaller(new ListPolicyAttachmentsRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(listPolicyAttachmentsRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*
* Returns all of the ObjectIdentifiers
to which a given policy is attached.
*
*
*
* This is a variant of
* {@link #listPolicyAttachments(software.amazon.awssdk.services.clouddirectory.model.ListPolicyAttachmentsRequest)}
* operation. The return type is a custom publisher that can be subscribed to request a stream of response pages.
* SDK will internally handle making service calls for you.
*
*
* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet
* and so there is no guarantee that the request is valid. If there are errors in your request, you will see the
* failures only after you start streaming the data. The subscribe method should be called as a request to start
* streaming data. For more info, see
* {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe
* method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the
* starting request.
*
*
*
* The following are few ways to use the response class:
*
* 1) Using the subscribe helper method
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListPolicyAttachmentsPublisher publisher = client.listPolicyAttachmentsPaginator(request);
* CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
* future.get();
* }
*
*
* 2) Using a custom subscriber
*
*
* {@code
* software.amazon.awssdk.services.clouddirectory.paginators.ListPolicyAttachmentsPublisher publisher = client.listPolicyAttachmentsPaginator(request);
* publisher.subscribe(new Subscriber() {
*
* public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
*
*
* public void onNext(software.amazon.awssdk.services.clouddirectory.model.ListPolicyAttachmentsResponse response) { //... };
* });}
*
*
* As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.
*
* Note: If you prefer to have control on service calls, use the
* {@link #listPolicyAttachments(software.amazon.awssdk.services.clouddirectory.model.ListPolicyAttachmentsRequest)}
* operation.
*
*
* @param listPolicyAttachmentsRequest
* @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - DirectoryNotEnabledException Operations are only permitted on enabled directories.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - ResourceNotFoundException The specified resource could not be found.
* - NotPolicyException Indicates that the requested operation can only operate on policy objects.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListPolicyAttachments
* @see AWS API Documentation
*/
public ListPolicyAttachmentsPublisher listPolicyAttachmentsPaginator(ListPolicyAttachmentsRequest listPolicyAttachmentsRequest) {
return new ListPolicyAttachmentsPublisher(this, applyPaginatorUserAgent(listPolicyAttachmentsRequest));
}
/**
*
* 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.
*
*
* @param listPublishedSchemaArnsRequest
* @return A Java Future containing the result of the ListPublishedSchemaArns operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following
* exceptions.
*
* - InternalServiceException Indicates a problem that must be resolved by Amazon Web Services. This might
* be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any
* operational issues with the service.
* - InvalidArnException Indicates that the provided ARN value is not valid.
* - RetryableConflictException Occurs when a conflict with a previous successful write is detected. For
* example, if a write operation occurs on an object and then an attempt is made to read the object using
* “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did
* not have time to propagate to the host serving the current request. A retry (with appropriate backoff
* logic) is the recommended response to this exception.
* - ValidationException Indicates that your request is malformed in some manner. See the exception
* message.
* - LimitExceededException Indicates that limits are exceeded. See Limits for more
* information.
* - AccessDeniedException Access denied. Check your permissions.
* - ResourceNotFoundException The specified resource could not be found.
* - InvalidNextTokenException Indicates that the
NextToken
value is not valid.
* - SdkException Base class for all exceptions that can be thrown by the SDK (both service and client).
* Can be used for catch all scenarios.
* - SdkClientException If any client side error occurs such as an IO related failure, failure to get
* credentials, etc.
* - CloudDirectoryException Base class for all service exceptions. Unknown exceptions will be thrown as
* an instance of this type.
*
* @sample CloudDirectoryAsyncClient.ListPublishedSchemaArns
* @see AWS API Documentation
*/
@Override
public CompletableFuture listPublishedSchemaArns(
ListPublishedSchemaArnsRequest listPublishedSchemaArnsRequest) {
try {
JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false)
.isPayloadJson(true).build();
HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(
operationMetadata, ListPublishedSchemaArnsResponse::builder);
HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory,
operationMetadata);
CompletableFuture executeFuture = clientHandler
.execute(new ClientExecutionParams()
.withOperationName("ListPublishedSchemaArns")
.withMarshaller(new ListPublishedSchemaArnsRequestMarshaller(protocolFactory))
.withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler)
.withInput(listPublishedSchemaArnsRequest));
return executeFuture;
} catch (Throwable t) {
return CompletableFutureUtils.failedFuture(t);
}
}
/**
*