
com.amazonaws.services.clouddirectory.AmazonCloudDirectoryClient Maven / Gradle / Ivy
Show all versions of aws-java-sdk-clouddirectory Show documentation
/*
* Copyright 2020-2025 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 com.amazonaws.services.clouddirectory;
import org.w3c.dom.*;
import java.net.*;
import java.util.*;
import javax.annotation.Generated;
import org.apache.commons.logging.*;
import com.amazonaws.*;
import com.amazonaws.annotation.SdkInternalApi;
import com.amazonaws.auth.*;
import com.amazonaws.handlers.*;
import com.amazonaws.http.*;
import com.amazonaws.internal.*;
import com.amazonaws.internal.auth.*;
import com.amazonaws.metrics.*;
import com.amazonaws.regions.*;
import com.amazonaws.transform.*;
import com.amazonaws.util.*;
import com.amazonaws.protocol.json.*;
import com.amazonaws.util.AWSRequestMetrics.Field;
import com.amazonaws.annotation.ThreadSafe;
import com.amazonaws.client.AwsSyncClientParams;
import com.amazonaws.client.builder.AdvancedConfig;
import com.amazonaws.services.clouddirectory.AmazonCloudDirectoryClientBuilder;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.services.clouddirectory.model.*;
import com.amazonaws.services.clouddirectory.model.transform.*;
/**
* Client for accessing Amazon CloudDirectory. All service calls made using this client are blocking, and will not
* return until the service call completes.
*
* Amazon Cloud Directory
*
* Amazon Cloud Directory is a component of the AWS Directory Service that simplifies the development and management of
* cloud-scale web, mobile, and IoT applications. This guide describes the Cloud Directory operations that you can call
* programmatically and includes detailed information on data types and errors. For information about Cloud Directory
* features, see AWS Directory Service and the Amazon Cloud
* Directory Developer Guide.
*
*/
@ThreadSafe
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class AmazonCloudDirectoryClient extends AmazonWebServiceClient implements AmazonCloudDirectory {
/** Provider for AWS credentials. */
private final AWSCredentialsProvider awsCredentialsProvider;
private static final Log log = LogFactory.getLog(AmazonCloudDirectory.class);
/** Default signing name for the service. */
private static final String DEFAULT_SIGNING_NAME = "clouddirectory";
/** Client configuration factory providing ClientConfigurations tailored to this client */
protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory();
private final AdvancedConfig advancedConfig;
private static final com.amazonaws.protocol.json.SdkJsonProtocolFactory protocolFactory = new com.amazonaws.protocol.json.SdkJsonProtocolFactory(
new JsonClientMetadata()
.withProtocolVersion("1.1")
.withSupportsCbor(false)
.withSupportsIon(false)
.withContentTypeOverride("application/json")
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("InvalidArnException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.InvalidArnExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("FacetInUseException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.FacetInUseExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("InvalidAttachmentException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.InvalidAttachmentExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("IndexedAttributeMissingException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.IndexedAttributeMissingExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("IncompatibleSchemaException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.IncompatibleSchemaExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("InvalidNextTokenException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.InvalidNextTokenExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("SchemaAlreadyPublishedException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.SchemaAlreadyPublishedExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("LimitExceededException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.LimitExceededExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("StillContainsLinksException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.StillContainsLinksExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ResourceNotFoundException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.ResourceNotFoundExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("InvalidRuleException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.InvalidRuleExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("DirectoryNotEnabledException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.DirectoryNotEnabledExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("FacetValidationException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.FacetValidationExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("InvalidFacetUpdateException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.InvalidFacetUpdateExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("SchemaAlreadyExistsException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.SchemaAlreadyExistsExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ValidationException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.ValidationExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("InternalServiceException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.InternalServiceExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("FacetAlreadyExistsException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.FacetAlreadyExistsExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("NotIndexException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.NotIndexExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ObjectAlreadyDetachedException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.ObjectAlreadyDetachedExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("DirectoryDeletedException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.DirectoryDeletedExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("RetryableConflictException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.RetryableConflictExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("BatchWriteException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.BatchWriteExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("InvalidTaggingRequestException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.InvalidTaggingRequestExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("NotNodeException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.NotNodeExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("DirectoryAlreadyExistsException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.DirectoryAlreadyExistsExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("AccessDeniedException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.AccessDeniedExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("DirectoryNotDisabledException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.DirectoryNotDisabledExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("InvalidSchemaDocException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.InvalidSchemaDocExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ObjectNotDetachedException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.ObjectNotDetachedExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("LinkNameAlreadyInUseException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.LinkNameAlreadyInUseExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("CannotListParentOfRootException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.CannotListParentOfRootExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("NotPolicyException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.NotPolicyExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("FacetNotFoundException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.FacetNotFoundExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("UnsupportedIndexTypeException").withExceptionUnmarshaller(
com.amazonaws.services.clouddirectory.model.transform.UnsupportedIndexTypeExceptionUnmarshaller.getInstance()))
.withBaseServiceExceptionClass(com.amazonaws.services.clouddirectory.model.AmazonCloudDirectoryException.class));
/**
* Constructs a new client to invoke service methods on Amazon CloudDirectory. A credentials provider chain will be
* used that searches for credentials in this order:
*
* - Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
* - Java System Properties - aws.accessKeyId and aws.secretKey
* - Instance profile credentials delivered through the Amazon EC2 metadata service
*
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @see DefaultAWSCredentialsProviderChain
* @deprecated use {@link AmazonCloudDirectoryClientBuilder#defaultClient()}
*/
@Deprecated
public AmazonCloudDirectoryClient() {
this(DefaultAWSCredentialsProviderChain.getInstance(), configFactory.getConfig());
}
/**
* Constructs a new client to invoke service methods on Amazon CloudDirectory. A credentials provider chain will be
* used that searches for credentials in this order:
*
* - Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
* - Java System Properties - aws.accessKeyId and aws.secretKey
* - Instance profile credentials delivered through the Amazon EC2 metadata service
*
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param clientConfiguration
* The client configuration options controlling how this client connects to Amazon CloudDirectory (ex: proxy
* settings, retry counts, etc.).
*
* @see DefaultAWSCredentialsProviderChain
* @deprecated use {@link AmazonCloudDirectoryClientBuilder#withClientConfiguration(ClientConfiguration)}
*/
@Deprecated
public AmazonCloudDirectoryClient(ClientConfiguration clientConfiguration) {
this(DefaultAWSCredentialsProviderChain.getInstance(), clientConfiguration);
}
/**
* Constructs a new client to invoke service methods on Amazon CloudDirectory using the specified AWS account
* credentials.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param awsCredentials
* The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
* @deprecated use {@link AmazonCloudDirectoryClientBuilder#withCredentials(AWSCredentialsProvider)} for example:
* {@code AmazonCloudDirectoryClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCredentials)).build();}
*/
@Deprecated
public AmazonCloudDirectoryClient(AWSCredentials awsCredentials) {
this(awsCredentials, configFactory.getConfig());
}
/**
* Constructs a new client to invoke service methods on Amazon CloudDirectory using the specified AWS account
* credentials and client configuration options.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param awsCredentials
* The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
* @param clientConfiguration
* The client configuration options controlling how this client connects to Amazon CloudDirectory (ex: proxy
* settings, retry counts, etc.).
* @deprecated use {@link AmazonCloudDirectoryClientBuilder#withCredentials(AWSCredentialsProvider)} and
* {@link AmazonCloudDirectoryClientBuilder#withClientConfiguration(ClientConfiguration)}
*/
@Deprecated
public AmazonCloudDirectoryClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) {
super(clientConfiguration);
this.awsCredentialsProvider = new StaticCredentialsProvider(awsCredentials);
this.advancedConfig = AdvancedConfig.EMPTY;
init();
}
/**
* Constructs a new client to invoke service methods on Amazon CloudDirectory using the specified AWS account
* credentials provider.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param awsCredentialsProvider
* The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
* @deprecated use {@link AmazonCloudDirectoryClientBuilder#withCredentials(AWSCredentialsProvider)}
*/
@Deprecated
public AmazonCloudDirectoryClient(AWSCredentialsProvider awsCredentialsProvider) {
this(awsCredentialsProvider, configFactory.getConfig());
}
/**
* Constructs a new client to invoke service methods on Amazon CloudDirectory using the specified AWS account
* credentials provider and client configuration options.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param awsCredentialsProvider
* The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
* @param clientConfiguration
* The client configuration options controlling how this client connects to Amazon CloudDirectory (ex: proxy
* settings, retry counts, etc.).
* @deprecated use {@link AmazonCloudDirectoryClientBuilder#withCredentials(AWSCredentialsProvider)} and
* {@link AmazonCloudDirectoryClientBuilder#withClientConfiguration(ClientConfiguration)}
*/
@Deprecated
public AmazonCloudDirectoryClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) {
this(awsCredentialsProvider, clientConfiguration, null);
}
/**
* Constructs a new client to invoke service methods on Amazon CloudDirectory using the specified AWS account
* credentials provider, client configuration options, and request metric collector.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param awsCredentialsProvider
* The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
* @param clientConfiguration
* The client configuration options controlling how this client connects to Amazon CloudDirectory (ex: proxy
* settings, retry counts, etc.).
* @param requestMetricCollector
* optional request metric collector
* @deprecated use {@link AmazonCloudDirectoryClientBuilder#withCredentials(AWSCredentialsProvider)} and
* {@link AmazonCloudDirectoryClientBuilder#withClientConfiguration(ClientConfiguration)} and
* {@link AmazonCloudDirectoryClientBuilder#withMetricsCollector(RequestMetricCollector)}
*/
@Deprecated
public AmazonCloudDirectoryClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration,
RequestMetricCollector requestMetricCollector) {
super(clientConfiguration, requestMetricCollector);
this.awsCredentialsProvider = awsCredentialsProvider;
this.advancedConfig = AdvancedConfig.EMPTY;
init();
}
public static AmazonCloudDirectoryClientBuilder builder() {
return AmazonCloudDirectoryClientBuilder.standard();
}
/**
* Constructs a new client to invoke service methods on Amazon CloudDirectory using the specified parameters.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param clientParams
* Object providing client parameters.
*/
AmazonCloudDirectoryClient(AwsSyncClientParams clientParams) {
this(clientParams, false);
}
/**
* Constructs a new client to invoke service methods on Amazon CloudDirectory using the specified parameters.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param clientParams
* Object providing client parameters.
*/
AmazonCloudDirectoryClient(AwsSyncClientParams clientParams, boolean endpointDiscoveryEnabled) {
super(clientParams);
this.awsCredentialsProvider = clientParams.getCredentialsProvider();
this.advancedConfig = clientParams.getAdvancedConfig();
init();
}
private void init() {
setServiceNameIntern(DEFAULT_SIGNING_NAME);
setEndpointPrefix(ENDPOINT_PREFIX);
// calling this.setEndPoint(...) will also modify the signer accordingly
setEndpoint("clouddirectory.us-east-1.amazonaws.com");
HandlerChainFactory chainFactory = new HandlerChainFactory();
requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/clouddirectory/request.handlers"));
requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/clouddirectory/request.handler2s"));
requestHandler2s.addAll(chainFactory.getGlobalHandlers());
}
/**
*
* Adds a new Facet to an object. An object can have more than one facet applied on it.
*
*
* @param addFacetToObjectRequest
* @return Result of the AddFacetToObject operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws FacetValidationException
* The Facet that you provided was not well formed or could not be validated with the schema.
* @sample AmazonCloudDirectory.AddFacetToObject
* @see AWS API Documentation
*/
@Override
public AddFacetToObjectResult addFacetToObject(AddFacetToObjectRequest request) {
request = beforeClientExecution(request);
return executeAddFacetToObject(request);
}
@SdkInternalApi
final AddFacetToObjectResult executeAddFacetToObject(AddFacetToObjectRequest addFacetToObjectRequest) {
ExecutionContext executionContext = createExecutionContext(addFacetToObjectRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new AddFacetToObjectRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(addFacetToObjectRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AddFacetToObject");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AddFacetToObjectResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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 Result of the ApplySchema operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws SchemaAlreadyExistsException
* Indicates that a schema could not be created due to a naming conflict. Please select a different name and
* then try again.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws 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.
* @sample AmazonCloudDirectory.ApplySchema
* @see AWS API
* Documentation
*/
@Override
public ApplySchemaResult applySchema(ApplySchemaRequest request) {
request = beforeClientExecution(request);
return executeApplySchema(request);
}
@SdkInternalApi
final ApplySchemaResult executeApplySchema(ApplySchemaRequest applySchemaRequest) {
ExecutionContext executionContext = createExecutionContext(applySchemaRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ApplySchemaRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(applySchemaRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ApplySchema");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ApplySchemaResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Attaches an existing object to another object. An object can be accessed in two ways:
*
*
* -
*
* Using the path
*
*
* -
*
* Using ObjectIdentifier
*
*
*
*
* @param attachObjectRequest
* @return Result of the AttachObject operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws LinkNameAlreadyInUseException
* Indicates that a link could not be created due to a naming conflict. Choose a different name and then try
* again.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws FacetValidationException
* The Facet that you provided was not well formed or could not be validated with the schema.
* @sample AmazonCloudDirectory.AttachObject
* @see AWS
* API Documentation
*/
@Override
public AttachObjectResult attachObject(AttachObjectRequest request) {
request = beforeClientExecution(request);
return executeAttachObject(request);
}
@SdkInternalApi
final AttachObjectResult executeAttachObject(AttachObjectRequest attachObjectRequest) {
ExecutionContext executionContext = createExecutionContext(attachObjectRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new AttachObjectRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(attachObjectRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AttachObject");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AttachObjectResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Attaches a policy object to a regular object. An object can have a limited number of attached policies.
*
*
* @param attachPolicyRequest
* @return Result of the AttachPolicy operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws NotPolicyException
* Indicates that the requested operation can only operate on policy objects.
* @sample AmazonCloudDirectory.AttachPolicy
* @see AWS
* API Documentation
*/
@Override
public AttachPolicyResult attachPolicy(AttachPolicyRequest request) {
request = beforeClientExecution(request);
return executeAttachPolicy(request);
}
@SdkInternalApi
final AttachPolicyResult executeAttachPolicy(AttachPolicyRequest attachPolicyRequest) {
ExecutionContext executionContext = createExecutionContext(attachPolicyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new AttachPolicyRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(attachPolicyRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AttachPolicy");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AttachPolicyResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Attaches the specified object to the specified index.
*
*
* @param attachToIndexRequest
* @return Result of the AttachToIndex operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws 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.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws LinkNameAlreadyInUseException
* Indicates that a link could not be created due to a naming conflict. Choose a different name and then try
* again.
* @throws IndexedAttributeMissingException
* An object has been attempted to be attached to an object that does not have the appropriate attribute
* value.
* @throws NotIndexException
* Indicates that the requested operation can only operate on index objects.
* @sample AmazonCloudDirectory.AttachToIndex
* @see AWS
* API Documentation
*/
@Override
public AttachToIndexResult attachToIndex(AttachToIndexRequest request) {
request = beforeClientExecution(request);
return executeAttachToIndex(request);
}
@SdkInternalApi
final AttachToIndexResult executeAttachToIndex(AttachToIndexRequest attachToIndexRequest) {
ExecutionContext executionContext = createExecutionContext(attachToIndexRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new AttachToIndexRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(attachToIndexRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AttachToIndex");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AttachToIndexResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Attaches a typed link to a specified source and target object. For more information, see Typed Links.
*
*
* @param attachTypedLinkRequest
* @return Result of the AttachTypedLink operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws FacetValidationException
* The Facet that you provided was not well formed or could not be validated with the schema.
* @sample AmazonCloudDirectory.AttachTypedLink
* @see AWS
* API Documentation
*/
@Override
public AttachTypedLinkResult attachTypedLink(AttachTypedLinkRequest request) {
request = beforeClientExecution(request);
return executeAttachTypedLink(request);
}
@SdkInternalApi
final AttachTypedLinkResult executeAttachTypedLink(AttachTypedLinkRequest attachTypedLinkRequest) {
ExecutionContext executionContext = createExecutionContext(attachTypedLinkRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new AttachTypedLinkRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(attachTypedLinkRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AttachTypedLink");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AttachTypedLinkResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Performs all the read operations in a batch.
*
*
* @param batchReadRequest
* @return Result of the BatchRead operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @sample AmazonCloudDirectory.BatchRead
* @see AWS API
* Documentation
*/
@Override
public BatchReadResult batchRead(BatchReadRequest request) {
request = beforeClientExecution(request);
return executeBatchRead(request);
}
@SdkInternalApi
final BatchReadResult executeBatchRead(BatchReadRequest batchReadRequest) {
ExecutionContext executionContext = createExecutionContext(batchReadRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new BatchReadRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(batchReadRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "BatchRead");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata()
.withPayloadJson(true).withHasStreamingSuccessResponse(false), new BatchReadResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Performs all the write operations in a batch. Either all the operations succeed or none.
*
*
* @param batchWriteRequest
* @return Result of the BatchWrite operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws BatchWriteException
* A BatchWrite
exception has occurred.
* @sample AmazonCloudDirectory.BatchWrite
* @see AWS API
* Documentation
*/
@Override
public BatchWriteResult batchWrite(BatchWriteRequest request) {
request = beforeClientExecution(request);
return executeBatchWrite(request);
}
@SdkInternalApi
final BatchWriteResult executeBatchWrite(BatchWriteRequest batchWriteRequest) {
ExecutionContext executionContext = createExecutionContext(batchWriteRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new BatchWriteRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(batchWriteRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "BatchWrite");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata()
.withPayloadJson(true).withHasStreamingSuccessResponse(false), new BatchWriteResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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 Result of the CreateDirectory operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryAlreadyExistsException
* Indicates that a Directory could not be created due to a naming conflict. Choose a different name
* and try again.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @sample AmazonCloudDirectory.CreateDirectory
* @see AWS
* API Documentation
*/
@Override
public CreateDirectoryResult createDirectory(CreateDirectoryRequest request) {
request = beforeClientExecution(request);
return executeCreateDirectory(request);
}
@SdkInternalApi
final CreateDirectoryResult executeCreateDirectory(CreateDirectoryRequest createDirectoryRequest) {
ExecutionContext executionContext = createExecutionContext(createDirectoryRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateDirectoryRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createDirectoryRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateDirectory");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateDirectoryResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates a new Facet in a schema. Facet creation is allowed only in development or applied schemas.
*
*
* @param createFacetRequest
* @return Result of the CreateFacet operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws FacetAlreadyExistsException
* A facet with the same name already exists.
* @throws InvalidRuleException
* Occurs when any of the rule parameter keys or values are invalid.
* @throws FacetValidationException
* The Facet that you provided was not well formed or could not be validated with the schema.
* @sample AmazonCloudDirectory.CreateFacet
* @see AWS API
* Documentation
*/
@Override
public CreateFacetResult createFacet(CreateFacetRequest request) {
request = beforeClientExecution(request);
return executeCreateFacet(request);
}
@SdkInternalApi
final CreateFacetResult executeCreateFacet(CreateFacetRequest createFacetRequest) {
ExecutionContext executionContext = createExecutionContext(createFacetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateFacetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createFacetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateFacet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateFacetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates an index object. See Indexing and
* search for more information.
*
*
* @param createIndexRequest
* @return Result of the CreateIndex operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws FacetValidationException
* The Facet that you provided was not well formed or could not be validated with the schema.
* @throws LinkNameAlreadyInUseException
* Indicates that a link could not be created due to a naming conflict. Choose a different name and then try
* again.
* @throws UnsupportedIndexTypeException
* Indicates that the requested index type is not supported.
* @sample AmazonCloudDirectory.CreateIndex
* @see AWS API
* Documentation
*/
@Override
public CreateIndexResult createIndex(CreateIndexRequest request) {
request = beforeClientExecution(request);
return executeCreateIndex(request);
}
@SdkInternalApi
final CreateIndexResult executeCreateIndex(CreateIndexRequest createIndexRequest) {
ExecutionContext executionContext = createExecutionContext(createIndexRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateIndexRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createIndexRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateIndex");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateIndexResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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 Result of the CreateObject operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws FacetValidationException
* The Facet that you provided was not well formed or could not be validated with the schema.
* @throws LinkNameAlreadyInUseException
* Indicates that a link could not be created due to a naming conflict. Choose a different name and then try
* again.
* @throws UnsupportedIndexTypeException
* Indicates that the requested index type is not supported.
* @sample AmazonCloudDirectory.CreateObject
* @see AWS
* API Documentation
*/
@Override
public CreateObjectResult createObject(CreateObjectRequest request) {
request = beforeClientExecution(request);
return executeCreateObject(request);
}
@SdkInternalApi
final CreateObjectResult executeCreateObject(CreateObjectRequest createObjectRequest) {
ExecutionContext executionContext = createExecutionContext(createObjectRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateObjectRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createObjectRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateObject");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateObjectResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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 Result of the CreateSchema operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws SchemaAlreadyExistsException
* Indicates that a schema could not be created due to a naming conflict. Please select a different name and
* then try again.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @sample AmazonCloudDirectory.CreateSchema
* @see AWS
* API Documentation
*/
@Override
public CreateSchemaResult createSchema(CreateSchemaRequest request) {
request = beforeClientExecution(request);
return executeCreateSchema(request);
}
@SdkInternalApi
final CreateSchemaResult executeCreateSchema(CreateSchemaRequest createSchemaRequest) {
ExecutionContext executionContext = createExecutionContext(createSchemaRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateSchemaRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createSchemaRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateSchema");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateSchemaResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates a TypedLinkFacet. For more information, see Typed Links.
*
*
* @param createTypedLinkFacetRequest
* @return Result of the CreateTypedLinkFacet operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws FacetAlreadyExistsException
* A facet with the same name already exists.
* @throws InvalidRuleException
* Occurs when any of the rule parameter keys or values are invalid.
* @throws FacetValidationException
* The Facet that you provided was not well formed or could not be validated with the schema.
* @sample AmazonCloudDirectory.CreateTypedLinkFacet
* @see AWS API Documentation
*/
@Override
public CreateTypedLinkFacetResult createTypedLinkFacet(CreateTypedLinkFacetRequest request) {
request = beforeClientExecution(request);
return executeCreateTypedLinkFacet(request);
}
@SdkInternalApi
final CreateTypedLinkFacetResult executeCreateTypedLinkFacet(CreateTypedLinkFacetRequest createTypedLinkFacetRequest) {
ExecutionContext executionContext = createExecutionContext(createTypedLinkFacetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateTypedLinkFacetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createTypedLinkFacetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateTypedLinkFacet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateTypedLinkFacetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes a directory. Only disabled directories can be deleted. A deleted directory cannot be undone. Exercise
* extreme caution when deleting directories.
*
*
* @param deleteDirectoryRequest
* @return Result of the DeleteDirectory operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws DirectoryNotDisabledException
* An operation can only operate on a disabled directory.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryDeletedException
* A directory that has been deleted and to which access has been attempted. Note: The requested resource
* will eventually cease to exist.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @sample AmazonCloudDirectory.DeleteDirectory
* @see AWS
* API Documentation
*/
@Override
public DeleteDirectoryResult deleteDirectory(DeleteDirectoryRequest request) {
request = beforeClientExecution(request);
return executeDeleteDirectory(request);
}
@SdkInternalApi
final DeleteDirectoryResult executeDeleteDirectory(DeleteDirectoryRequest deleteDirectoryRequest) {
ExecutionContext executionContext = createExecutionContext(deleteDirectoryRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteDirectoryRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteDirectoryRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteDirectory");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteDirectoryResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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 Result of the DeleteFacet operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws FacetNotFoundException
* The specified Facet could not be found.
* @throws FacetInUseException
* Occurs when deleting a facet that contains an attribute that is a target to an attribute reference in a
* different facet.
* @sample AmazonCloudDirectory.DeleteFacet
* @see AWS API
* Documentation
*/
@Override
public DeleteFacetResult deleteFacet(DeleteFacetRequest request) {
request = beforeClientExecution(request);
return executeDeleteFacet(request);
}
@SdkInternalApi
final DeleteFacetResult executeDeleteFacet(DeleteFacetRequest deleteFacetRequest) {
ExecutionContext executionContext = createExecutionContext(deleteFacetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteFacetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteFacetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteFacet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteFacetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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 Result of the DeleteObject operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws ObjectNotDetachedException
* Indicates that the requested operation cannot be completed because the object has not been detached from
* the tree.
* @sample AmazonCloudDirectory.DeleteObject
* @see AWS
* API Documentation
*/
@Override
public DeleteObjectResult deleteObject(DeleteObjectRequest request) {
request = beforeClientExecution(request);
return executeDeleteObject(request);
}
@SdkInternalApi
final DeleteObjectResult executeDeleteObject(DeleteObjectRequest deleteObjectRequest) {
ExecutionContext executionContext = createExecutionContext(deleteObjectRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteObjectRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteObjectRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteObject");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteObjectResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes a given schema. Schemas in a development and published state can only be deleted.
*
*
* @param deleteSchemaRequest
* @return Result of the DeleteSchema operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws StillContainsLinksException
* The object could not be deleted because links still exist. Remove the links and then try the operation
* again.
* @sample AmazonCloudDirectory.DeleteSchema
* @see AWS
* API Documentation
*/
@Override
public DeleteSchemaResult deleteSchema(DeleteSchemaRequest request) {
request = beforeClientExecution(request);
return executeDeleteSchema(request);
}
@SdkInternalApi
final DeleteSchemaResult executeDeleteSchema(DeleteSchemaRequest deleteSchemaRequest) {
ExecutionContext executionContext = createExecutionContext(deleteSchemaRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteSchemaRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteSchemaRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteSchema");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteSchemaResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes a TypedLinkFacet. For more information, see Typed Links.
*
*
* @param deleteTypedLinkFacetRequest
* @return Result of the DeleteTypedLinkFacet operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws FacetNotFoundException
* The specified Facet could not be found.
* @sample AmazonCloudDirectory.DeleteTypedLinkFacet
* @see AWS API Documentation
*/
@Override
public DeleteTypedLinkFacetResult deleteTypedLinkFacet(DeleteTypedLinkFacetRequest request) {
request = beforeClientExecution(request);
return executeDeleteTypedLinkFacet(request);
}
@SdkInternalApi
final DeleteTypedLinkFacetResult executeDeleteTypedLinkFacet(DeleteTypedLinkFacetRequest deleteTypedLinkFacetRequest) {
ExecutionContext executionContext = createExecutionContext(deleteTypedLinkFacetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteTypedLinkFacetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteTypedLinkFacetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteTypedLinkFacet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteTypedLinkFacetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Detaches the specified object from the specified index.
*
*
* @param detachFromIndexRequest
* @return Result of the DetachFromIndex operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws ObjectAlreadyDetachedException
* Indicates that the object is not attached to the index.
* @throws NotIndexException
* Indicates that the requested operation can only operate on index objects.
* @sample AmazonCloudDirectory.DetachFromIndex
* @see AWS
* API Documentation
*/
@Override
public DetachFromIndexResult detachFromIndex(DetachFromIndexRequest request) {
request = beforeClientExecution(request);
return executeDetachFromIndex(request);
}
@SdkInternalApi
final DetachFromIndexResult executeDetachFromIndex(DetachFromIndexRequest detachFromIndexRequest) {
ExecutionContext executionContext = createExecutionContext(detachFromIndexRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DetachFromIndexRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(detachFromIndexRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DetachFromIndex");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DetachFromIndexResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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 Result of the DetachObject operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws 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.
* @sample AmazonCloudDirectory.DetachObject
* @see AWS
* API Documentation
*/
@Override
public DetachObjectResult detachObject(DetachObjectRequest request) {
request = beforeClientExecution(request);
return executeDetachObject(request);
}
@SdkInternalApi
final DetachObjectResult executeDetachObject(DetachObjectRequest detachObjectRequest) {
ExecutionContext executionContext = createExecutionContext(detachObjectRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DetachObjectRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(detachObjectRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DetachObject");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DetachObjectResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Detaches a policy from an object.
*
*
* @param detachPolicyRequest
* @return Result of the DetachPolicy operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws NotPolicyException
* Indicates that the requested operation can only operate on policy objects.
* @sample AmazonCloudDirectory.DetachPolicy
* @see AWS
* API Documentation
*/
@Override
public DetachPolicyResult detachPolicy(DetachPolicyRequest request) {
request = beforeClientExecution(request);
return executeDetachPolicy(request);
}
@SdkInternalApi
final DetachPolicyResult executeDetachPolicy(DetachPolicyRequest detachPolicyRequest) {
ExecutionContext executionContext = createExecutionContext(detachPolicyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DetachPolicyRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(detachPolicyRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DetachPolicy");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DetachPolicyResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Detaches a typed link from a specified source and target object. For more information, see Typed Links.
*
*
* @param detachTypedLinkRequest
* @return Result of the DetachTypedLink operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws FacetValidationException
* The Facet that you provided was not well formed or could not be validated with the schema.
* @sample AmazonCloudDirectory.DetachTypedLink
* @see AWS
* API Documentation
*/
@Override
public DetachTypedLinkResult detachTypedLink(DetachTypedLinkRequest request) {
request = beforeClientExecution(request);
return executeDetachTypedLink(request);
}
@SdkInternalApi
final DetachTypedLinkResult executeDetachTypedLink(DetachTypedLinkRequest detachTypedLinkRequest) {
ExecutionContext executionContext = createExecutionContext(detachTypedLinkRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DetachTypedLinkRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(detachTypedLinkRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DetachTypedLink");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DetachTypedLinkResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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 Result of the DisableDirectory operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws DirectoryDeletedException
* A directory that has been deleted and to which access has been attempted. Note: The requested resource
* will eventually cease to exist.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @sample AmazonCloudDirectory.DisableDirectory
* @see AWS API Documentation
*/
@Override
public DisableDirectoryResult disableDirectory(DisableDirectoryRequest request) {
request = beforeClientExecution(request);
return executeDisableDirectory(request);
}
@SdkInternalApi
final DisableDirectoryResult executeDisableDirectory(DisableDirectoryRequest disableDirectoryRequest) {
ExecutionContext executionContext = createExecutionContext(disableDirectoryRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DisableDirectoryRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(disableDirectoryRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisableDirectory");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisableDirectoryResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Enables the specified directory. Only disabled directories can be enabled. Once enabled, the directory can then
* be read and written to.
*
*
* @param enableDirectoryRequest
* @return Result of the EnableDirectory operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws DirectoryDeletedException
* A directory that has been deleted and to which access has been attempted. Note: The requested resource
* will eventually cease to exist.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @sample AmazonCloudDirectory.EnableDirectory
* @see AWS
* API Documentation
*/
@Override
public EnableDirectoryResult enableDirectory(EnableDirectoryRequest request) {
request = beforeClientExecution(request);
return executeEnableDirectory(request);
}
@SdkInternalApi
final EnableDirectoryResult executeEnableDirectory(EnableDirectoryRequest enableDirectoryRequest) {
ExecutionContext executionContext = createExecutionContext(enableDirectoryRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new EnableDirectoryRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(enableDirectoryRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "EnableDirectory");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new EnableDirectoryResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns current applied schema version ARN, including the minor version in use.
*
*
* @param getAppliedSchemaVersionRequest
* @return Result of the GetAppliedSchemaVersion operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @sample AmazonCloudDirectory.GetAppliedSchemaVersion
* @see AWS API Documentation
*/
@Override
public GetAppliedSchemaVersionResult getAppliedSchemaVersion(GetAppliedSchemaVersionRequest request) {
request = beforeClientExecution(request);
return executeGetAppliedSchemaVersion(request);
}
@SdkInternalApi
final GetAppliedSchemaVersionResult executeGetAppliedSchemaVersion(GetAppliedSchemaVersionRequest getAppliedSchemaVersionRequest) {
ExecutionContext executionContext = createExecutionContext(getAppliedSchemaVersionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetAppliedSchemaVersionRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(getAppliedSchemaVersionRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetAppliedSchemaVersion");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new GetAppliedSchemaVersionResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves metadata about a directory.
*
*
* @param getDirectoryRequest
* @return Result of the GetDirectory operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @sample AmazonCloudDirectory.GetDirectory
* @see AWS
* API Documentation
*/
@Override
public GetDirectoryResult getDirectory(GetDirectoryRequest request) {
request = beforeClientExecution(request);
return executeGetDirectory(request);
}
@SdkInternalApi
final GetDirectoryResult executeGetDirectory(GetDirectoryRequest getDirectoryRequest) {
ExecutionContext executionContext = createExecutionContext(getDirectoryRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetDirectoryRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getDirectoryRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetDirectory");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetDirectoryResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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 Result of the GetFacet operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws FacetNotFoundException
* The specified Facet could not be found.
* @sample AmazonCloudDirectory.GetFacet
* @see AWS API
* Documentation
*/
@Override
public GetFacetResult getFacet(GetFacetRequest request) {
request = beforeClientExecution(request);
return executeGetFacet(request);
}
@SdkInternalApi
final GetFacetResult executeGetFacet(GetFacetRequest getFacetRequest) {
ExecutionContext executionContext = createExecutionContext(getFacetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetFacetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getFacetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetFacet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata()
.withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetFacetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves attributes that are associated with a typed link.
*
*
* @param getLinkAttributesRequest
* @return Result of the GetLinkAttributes operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws FacetValidationException
* The Facet that you provided was not well formed or could not be validated with the schema.
* @sample AmazonCloudDirectory.GetLinkAttributes
* @see AWS API Documentation
*/
@Override
public GetLinkAttributesResult getLinkAttributes(GetLinkAttributesRequest request) {
request = beforeClientExecution(request);
return executeGetLinkAttributes(request);
}
@SdkInternalApi
final GetLinkAttributesResult executeGetLinkAttributes(GetLinkAttributesRequest getLinkAttributesRequest) {
ExecutionContext executionContext = createExecutionContext(getLinkAttributesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetLinkAttributesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getLinkAttributesRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetLinkAttributes");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetLinkAttributesResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves attributes within a facet that are associated with an object.
*
*
* @param getObjectAttributesRequest
* @return Result of the GetObjectAttributes operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws FacetValidationException
* The Facet that you provided was not well formed or could not be validated with the schema.
* @sample AmazonCloudDirectory.GetObjectAttributes
* @see AWS API Documentation
*/
@Override
public GetObjectAttributesResult getObjectAttributes(GetObjectAttributesRequest request) {
request = beforeClientExecution(request);
return executeGetObjectAttributes(request);
}
@SdkInternalApi
final GetObjectAttributesResult executeGetObjectAttributes(GetObjectAttributesRequest getObjectAttributesRequest) {
ExecutionContext executionContext = createExecutionContext(getObjectAttributesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetObjectAttributesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getObjectAttributesRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetObjectAttributes");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetObjectAttributesResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves metadata about an object.
*
*
* @param getObjectInformationRequest
* @return Result of the GetObjectInformation operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @sample AmazonCloudDirectory.GetObjectInformation
* @see AWS API Documentation
*/
@Override
public GetObjectInformationResult getObjectInformation(GetObjectInformationRequest request) {
request = beforeClientExecution(request);
return executeGetObjectInformation(request);
}
@SdkInternalApi
final GetObjectInformationResult executeGetObjectInformation(GetObjectInformationRequest getObjectInformationRequest) {
ExecutionContext executionContext = createExecutionContext(getObjectInformationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetObjectInformationRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getObjectInformationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetObjectInformation");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetObjectInformationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves a JSON representation of the schema. See JSON
* Schema Format for more information.
*
*
* @param getSchemaAsJsonRequest
* @return Result of the GetSchemaAsJson operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @sample AmazonCloudDirectory.GetSchemaAsJson
* @see AWS
* API Documentation
*/
@Override
public GetSchemaAsJsonResult getSchemaAsJson(GetSchemaAsJsonRequest request) {
request = beforeClientExecution(request);
return executeGetSchemaAsJson(request);
}
@SdkInternalApi
final GetSchemaAsJsonResult executeGetSchemaAsJson(GetSchemaAsJsonRequest getSchemaAsJsonRequest) {
ExecutionContext executionContext = createExecutionContext(getSchemaAsJsonRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetSchemaAsJsonRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getSchemaAsJsonRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetSchemaAsJson");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetSchemaAsJsonResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns the identity attribute order for a specific TypedLinkFacet. For more information, see Typed Links.
*
*
* @param getTypedLinkFacetInformationRequest
* @return Result of the GetTypedLinkFacetInformation operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws InvalidNextTokenException
* Indicates that the NextToken
value is not valid.
* @throws FacetNotFoundException
* The specified Facet could not be found.
* @sample AmazonCloudDirectory.GetTypedLinkFacetInformation
* @see AWS API Documentation
*/
@Override
public GetTypedLinkFacetInformationResult getTypedLinkFacetInformation(GetTypedLinkFacetInformationRequest request) {
request = beforeClientExecution(request);
return executeGetTypedLinkFacetInformation(request);
}
@SdkInternalApi
final GetTypedLinkFacetInformationResult executeGetTypedLinkFacetInformation(GetTypedLinkFacetInformationRequest getTypedLinkFacetInformationRequest) {
ExecutionContext executionContext = createExecutionContext(getTypedLinkFacetInformationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetTypedLinkFacetInformationRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(getTypedLinkFacetInformationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetTypedLinkFacetInformation");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new GetTypedLinkFacetInformationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists schema major versions applied to a directory. If SchemaArn
is provided, lists the minor
* version.
*
*
* @param listAppliedSchemaArnsRequest
* @return Result of the ListAppliedSchemaArns operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws InvalidNextTokenException
* Indicates that the NextToken
value is not valid.
* @sample AmazonCloudDirectory.ListAppliedSchemaArns
* @see AWS API Documentation
*/
@Override
public ListAppliedSchemaArnsResult listAppliedSchemaArns(ListAppliedSchemaArnsRequest request) {
request = beforeClientExecution(request);
return executeListAppliedSchemaArns(request);
}
@SdkInternalApi
final ListAppliedSchemaArnsResult executeListAppliedSchemaArns(ListAppliedSchemaArnsRequest listAppliedSchemaArnsRequest) {
ExecutionContext executionContext = createExecutionContext(listAppliedSchemaArnsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListAppliedSchemaArnsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listAppliedSchemaArnsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListAppliedSchemaArns");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListAppliedSchemaArnsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists indices attached to the specified object.
*
*
* @param listAttachedIndicesRequest
* @return Result of the ListAttachedIndices operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @sample AmazonCloudDirectory.ListAttachedIndices
* @see AWS API Documentation
*/
@Override
public ListAttachedIndicesResult listAttachedIndices(ListAttachedIndicesRequest request) {
request = beforeClientExecution(request);
return executeListAttachedIndices(request);
}
@SdkInternalApi
final ListAttachedIndicesResult executeListAttachedIndices(ListAttachedIndicesRequest listAttachedIndicesRequest) {
ExecutionContext executionContext = createExecutionContext(listAttachedIndicesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListAttachedIndicesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listAttachedIndicesRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListAttachedIndices");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListAttachedIndicesResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves each Amazon Resource Name (ARN) of schemas in the development state.
*
*
* @param listDevelopmentSchemaArnsRequest
* @return Result of the ListDevelopmentSchemaArns operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws InvalidNextTokenException
* Indicates that the NextToken
value is not valid.
* @sample AmazonCloudDirectory.ListDevelopmentSchemaArns
* @see AWS API Documentation
*/
@Override
public ListDevelopmentSchemaArnsResult listDevelopmentSchemaArns(ListDevelopmentSchemaArnsRequest request) {
request = beforeClientExecution(request);
return executeListDevelopmentSchemaArns(request);
}
@SdkInternalApi
final ListDevelopmentSchemaArnsResult executeListDevelopmentSchemaArns(ListDevelopmentSchemaArnsRequest listDevelopmentSchemaArnsRequest) {
ExecutionContext executionContext = createExecutionContext(listDevelopmentSchemaArnsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListDevelopmentSchemaArnsRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listDevelopmentSchemaArnsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListDevelopmentSchemaArns");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListDevelopmentSchemaArnsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists directories created within an account.
*
*
* @param listDirectoriesRequest
* @return Result of the ListDirectories operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws InvalidNextTokenException
* Indicates that the NextToken
value is not valid.
* @sample AmazonCloudDirectory.ListDirectories
* @see AWS
* API Documentation
*/
@Override
public ListDirectoriesResult listDirectories(ListDirectoriesRequest request) {
request = beforeClientExecution(request);
return executeListDirectories(request);
}
@SdkInternalApi
final ListDirectoriesResult executeListDirectories(ListDirectoriesRequest listDirectoriesRequest) {
ExecutionContext executionContext = createExecutionContext(listDirectoriesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListDirectoriesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listDirectoriesRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListDirectories");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListDirectoriesResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves attributes attached to the facet.
*
*
* @param listFacetAttributesRequest
* @return Result of the ListFacetAttributes operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws FacetNotFoundException
* The specified Facet could not be found.
* @throws InvalidNextTokenException
* Indicates that the NextToken
value is not valid.
* @sample AmazonCloudDirectory.ListFacetAttributes
* @see AWS API Documentation
*/
@Override
public ListFacetAttributesResult listFacetAttributes(ListFacetAttributesRequest request) {
request = beforeClientExecution(request);
return executeListFacetAttributes(request);
}
@SdkInternalApi
final ListFacetAttributesResult executeListFacetAttributes(ListFacetAttributesRequest listFacetAttributesRequest) {
ExecutionContext executionContext = createExecutionContext(listFacetAttributesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListFacetAttributesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listFacetAttributesRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListFacetAttributes");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListFacetAttributesResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves the names of facets that exist in a schema.
*
*
* @param listFacetNamesRequest
* @return Result of the ListFacetNames operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws InvalidNextTokenException
* Indicates that the NextToken
value is not valid.
* @sample AmazonCloudDirectory.ListFacetNames
* @see AWS
* API Documentation
*/
@Override
public ListFacetNamesResult listFacetNames(ListFacetNamesRequest request) {
request = beforeClientExecution(request);
return executeListFacetNames(request);
}
@SdkInternalApi
final ListFacetNamesResult executeListFacetNames(ListFacetNamesRequest listFacetNamesRequest) {
ExecutionContext executionContext = createExecutionContext(listFacetNamesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListFacetNamesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listFacetNamesRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListFacetNames");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListFacetNamesResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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 Result of the ListIncomingTypedLinks operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws InvalidNextTokenException
* Indicates that the NextToken
value is not valid.
* @throws FacetValidationException
* The Facet that you provided was not well formed or could not be validated with the schema.
* @sample AmazonCloudDirectory.ListIncomingTypedLinks
* @see AWS API Documentation
*/
@Override
public ListIncomingTypedLinksResult listIncomingTypedLinks(ListIncomingTypedLinksRequest request) {
request = beforeClientExecution(request);
return executeListIncomingTypedLinks(request);
}
@SdkInternalApi
final ListIncomingTypedLinksResult executeListIncomingTypedLinks(ListIncomingTypedLinksRequest listIncomingTypedLinksRequest) {
ExecutionContext executionContext = createExecutionContext(listIncomingTypedLinksRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListIncomingTypedLinksRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listIncomingTypedLinksRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListIncomingTypedLinks");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListIncomingTypedLinksResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists objects attached to the specified index.
*
*
* @param listIndexRequest
* @return Result of the ListIndex operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws FacetValidationException
* The Facet that you provided was not well formed or could not be validated with the schema.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws InvalidNextTokenException
* Indicates that the NextToken
value is not valid.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws NotIndexException
* Indicates that the requested operation can only operate on index objects.
* @sample AmazonCloudDirectory.ListIndex
* @see AWS API
* Documentation
*/
@Override
public ListIndexResult listIndex(ListIndexRequest request) {
request = beforeClientExecution(request);
return executeListIndex(request);
}
@SdkInternalApi
final ListIndexResult executeListIndex(ListIndexRequest listIndexRequest) {
ExecutionContext executionContext = createExecutionContext(listIndexRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListIndexRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listIndexRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListIndex");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata()
.withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListIndexResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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 Result of the ListManagedSchemaArns operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws InvalidNextTokenException
* Indicates that the NextToken
value is not valid.
* @sample AmazonCloudDirectory.ListManagedSchemaArns
* @see AWS API Documentation
*/
@Override
public ListManagedSchemaArnsResult listManagedSchemaArns(ListManagedSchemaArnsRequest request) {
request = beforeClientExecution(request);
return executeListManagedSchemaArns(request);
}
@SdkInternalApi
final ListManagedSchemaArnsResult executeListManagedSchemaArns(ListManagedSchemaArnsRequest listManagedSchemaArnsRequest) {
ExecutionContext executionContext = createExecutionContext(listManagedSchemaArnsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListManagedSchemaArnsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listManagedSchemaArnsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListManagedSchemaArns");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListManagedSchemaArnsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists all attributes that are associated with an object.
*
*
* @param listObjectAttributesRequest
* @return Result of the ListObjectAttributes operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws InvalidNextTokenException
* Indicates that the NextToken
value is not valid.
* @throws FacetValidationException
* The Facet that you provided was not well formed or could not be validated with the schema.
* @sample AmazonCloudDirectory.ListObjectAttributes
* @see AWS API Documentation
*/
@Override
public ListObjectAttributesResult listObjectAttributes(ListObjectAttributesRequest request) {
request = beforeClientExecution(request);
return executeListObjectAttributes(request);
}
@SdkInternalApi
final ListObjectAttributesResult executeListObjectAttributes(ListObjectAttributesRequest listObjectAttributesRequest) {
ExecutionContext executionContext = createExecutionContext(listObjectAttributesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListObjectAttributesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listObjectAttributesRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListObjectAttributes");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListObjectAttributesResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns a paginated list of child objects that are associated with a given object.
*
*
* @param listObjectChildrenRequest
* @return Result of the ListObjectChildren operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws InvalidNextTokenException
* Indicates that the NextToken
value is not valid.
* @throws 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.
* @sample AmazonCloudDirectory.ListObjectChildren
* @see AWS API Documentation
*/
@Override
public ListObjectChildrenResult listObjectChildren(ListObjectChildrenRequest request) {
request = beforeClientExecution(request);
return executeListObjectChildren(request);
}
@SdkInternalApi
final ListObjectChildrenResult executeListObjectChildren(ListObjectChildrenRequest listObjectChildrenRequest) {
ExecutionContext executionContext = createExecutionContext(listObjectChildrenRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListObjectChildrenRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listObjectChildrenRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListObjectChildren");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListObjectChildrenResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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 Result of the ListObjectParentPaths operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws InvalidNextTokenException
* Indicates that the NextToken
value is not valid.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @sample AmazonCloudDirectory.ListObjectParentPaths
* @see AWS API Documentation
*/
@Override
public ListObjectParentPathsResult listObjectParentPaths(ListObjectParentPathsRequest request) {
request = beforeClientExecution(request);
return executeListObjectParentPaths(request);
}
@SdkInternalApi
final ListObjectParentPathsResult executeListObjectParentPaths(ListObjectParentPathsRequest listObjectParentPathsRequest) {
ExecutionContext executionContext = createExecutionContext(listObjectParentPathsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListObjectParentPathsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listObjectParentPathsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListObjectParentPaths");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListObjectParentPathsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists parent objects that are associated with a given object in pagination fashion.
*
*
* @param listObjectParentsRequest
* @return Result of the ListObjectParents operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws InvalidNextTokenException
* Indicates that the NextToken
value is not valid.
* @throws CannotListParentOfRootException
* Cannot list the parents of a Directory root.
* @sample AmazonCloudDirectory.ListObjectParents
* @see AWS API Documentation
*/
@Override
public ListObjectParentsResult listObjectParents(ListObjectParentsRequest request) {
request = beforeClientExecution(request);
return executeListObjectParents(request);
}
@SdkInternalApi
final ListObjectParentsResult executeListObjectParents(ListObjectParentsRequest listObjectParentsRequest) {
ExecutionContext executionContext = createExecutionContext(listObjectParentsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListObjectParentsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listObjectParentsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListObjectParents");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListObjectParentsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns policies attached to an object in pagination fashion.
*
*
* @param listObjectPoliciesRequest
* @return Result of the ListObjectPolicies operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws InvalidNextTokenException
* Indicates that the NextToken
value is not valid.
* @sample AmazonCloudDirectory.ListObjectPolicies
* @see AWS API Documentation
*/
@Override
public ListObjectPoliciesResult listObjectPolicies(ListObjectPoliciesRequest request) {
request = beforeClientExecution(request);
return executeListObjectPolicies(request);
}
@SdkInternalApi
final ListObjectPoliciesResult executeListObjectPolicies(ListObjectPoliciesRequest listObjectPoliciesRequest) {
ExecutionContext executionContext = createExecutionContext(listObjectPoliciesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListObjectPoliciesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listObjectPoliciesRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListObjectPolicies");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListObjectPoliciesResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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 Result of the ListOutgoingTypedLinks operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws InvalidNextTokenException
* Indicates that the NextToken
value is not valid.
* @throws FacetValidationException
* The Facet that you provided was not well formed or could not be validated with the schema.
* @sample AmazonCloudDirectory.ListOutgoingTypedLinks
* @see AWS API Documentation
*/
@Override
public ListOutgoingTypedLinksResult listOutgoingTypedLinks(ListOutgoingTypedLinksRequest request) {
request = beforeClientExecution(request);
return executeListOutgoingTypedLinks(request);
}
@SdkInternalApi
final ListOutgoingTypedLinksResult executeListOutgoingTypedLinks(ListOutgoingTypedLinksRequest listOutgoingTypedLinksRequest) {
ExecutionContext executionContext = createExecutionContext(listOutgoingTypedLinksRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListOutgoingTypedLinksRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listOutgoingTypedLinksRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListOutgoingTypedLinks");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListOutgoingTypedLinksResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns all of the ObjectIdentifiers
to which a given policy is attached.
*
*
* @param listPolicyAttachmentsRequest
* @return Result of the ListPolicyAttachments operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws InvalidNextTokenException
* Indicates that the NextToken
value is not valid.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws NotPolicyException
* Indicates that the requested operation can only operate on policy objects.
* @sample AmazonCloudDirectory.ListPolicyAttachments
* @see AWS API Documentation
*/
@Override
public ListPolicyAttachmentsResult listPolicyAttachments(ListPolicyAttachmentsRequest request) {
request = beforeClientExecution(request);
return executeListPolicyAttachments(request);
}
@SdkInternalApi
final ListPolicyAttachmentsResult executeListPolicyAttachments(ListPolicyAttachmentsRequest listPolicyAttachmentsRequest) {
ExecutionContext executionContext = createExecutionContext(listPolicyAttachmentsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListPolicyAttachmentsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listPolicyAttachmentsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListPolicyAttachments");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListPolicyAttachmentsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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 Result of the ListPublishedSchemaArns operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws InvalidNextTokenException
* Indicates that the NextToken
value is not valid.
* @sample AmazonCloudDirectory.ListPublishedSchemaArns
* @see AWS API Documentation
*/
@Override
public ListPublishedSchemaArnsResult listPublishedSchemaArns(ListPublishedSchemaArnsRequest request) {
request = beforeClientExecution(request);
return executeListPublishedSchemaArns(request);
}
@SdkInternalApi
final ListPublishedSchemaArnsResult executeListPublishedSchemaArns(ListPublishedSchemaArnsRequest listPublishedSchemaArnsRequest) {
ExecutionContext executionContext = createExecutionContext(listPublishedSchemaArnsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListPublishedSchemaArnsRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listPublishedSchemaArnsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListPublishedSchemaArns");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListPublishedSchemaArnsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns tags for a resource. Tagging is currently supported only for directories with a limit of 50 tags per
* directory. All 50 tags are returned for a given directory with this API call.
*
*
* @param listTagsForResourceRequest
* @return Result of the ListTagsForResource operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws InvalidTaggingRequestException
* Can occur for multiple reasons such as when you tag a resource that doesn’t exist or if you specify a
* higher number of tags for a resource than the allowed limit. Allowed limit is 50 tags per resource.
* @sample AmazonCloudDirectory.ListTagsForResource
* @see AWS API Documentation
*/
@Override
public ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest request) {
request = beforeClientExecution(request);
return executeListTagsForResource(request);
}
@SdkInternalApi
final ListTagsForResourceResult executeListTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest) {
ExecutionContext executionContext = createExecutionContext(listTagsForResourceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListTagsForResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listTagsForResourceRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTagsForResource");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListTagsForResourceResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns a paginated list of all attribute definitions for a particular TypedLinkFacet. For more
* information, see Typed Links.
*
*
* @param listTypedLinkFacetAttributesRequest
* @return Result of the ListTypedLinkFacetAttributes operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws FacetNotFoundException
* The specified Facet could not be found.
* @throws InvalidNextTokenException
* Indicates that the NextToken
value is not valid.
* @sample AmazonCloudDirectory.ListTypedLinkFacetAttributes
* @see AWS API Documentation
*/
@Override
public ListTypedLinkFacetAttributesResult listTypedLinkFacetAttributes(ListTypedLinkFacetAttributesRequest request) {
request = beforeClientExecution(request);
return executeListTypedLinkFacetAttributes(request);
}
@SdkInternalApi
final ListTypedLinkFacetAttributesResult executeListTypedLinkFacetAttributes(ListTypedLinkFacetAttributesRequest listTypedLinkFacetAttributesRequest) {
ExecutionContext executionContext = createExecutionContext(listTypedLinkFacetAttributesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListTypedLinkFacetAttributesRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listTypedLinkFacetAttributesRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTypedLinkFacetAttributes");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListTypedLinkFacetAttributesResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns a paginated list of TypedLink
facet names for a particular schema. For more information, see
* Typed Links.
*
*
* @param listTypedLinkFacetNamesRequest
* @return Result of the ListTypedLinkFacetNames operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws InvalidNextTokenException
* Indicates that the NextToken
value is not valid.
* @sample AmazonCloudDirectory.ListTypedLinkFacetNames
* @see AWS API Documentation
*/
@Override
public ListTypedLinkFacetNamesResult listTypedLinkFacetNames(ListTypedLinkFacetNamesRequest request) {
request = beforeClientExecution(request);
return executeListTypedLinkFacetNames(request);
}
@SdkInternalApi
final ListTypedLinkFacetNamesResult executeListTypedLinkFacetNames(ListTypedLinkFacetNamesRequest listTypedLinkFacetNamesRequest) {
ExecutionContext executionContext = createExecutionContext(listTypedLinkFacetNamesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListTypedLinkFacetNamesRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listTypedLinkFacetNamesRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTypedLinkFacetNames");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListTypedLinkFacetNamesResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists all policies from the root of the Directory to the object specified. If there are no policies
* present, an empty list is returned. If policies are present, and if some objects don't have the policies
* attached, it returns the ObjectIdentifier
for such objects. If policies are present, it returns
* ObjectIdentifier
, policyId
, and policyType
. Paths that don't lead to the
* root from the target object are ignored. For more information, see Policies.
*
*
* @param lookupPolicyRequest
* @return Result of the LookupPolicy operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws InvalidNextTokenException
* Indicates that the NextToken
value is not valid.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @sample AmazonCloudDirectory.LookupPolicy
* @see AWS
* API Documentation
*/
@Override
public LookupPolicyResult lookupPolicy(LookupPolicyRequest request) {
request = beforeClientExecution(request);
return executeLookupPolicy(request);
}
@SdkInternalApi
final LookupPolicyResult executeLookupPolicy(LookupPolicyRequest lookupPolicyRequest) {
ExecutionContext executionContext = createExecutionContext(lookupPolicyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new LookupPolicyRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(lookupPolicyRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "LookupPolicy");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new LookupPolicyResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Publishes a development schema with a major version and a recommended minor version.
*
*
* @param publishSchemaRequest
* @return Result of the PublishSchema operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws SchemaAlreadyPublishedException
* Indicates that a schema is already published.
* @sample AmazonCloudDirectory.PublishSchema
* @see AWS
* API Documentation
*/
@Override
public PublishSchemaResult publishSchema(PublishSchemaRequest request) {
request = beforeClientExecution(request);
return executePublishSchema(request);
}
@SdkInternalApi
final PublishSchemaResult executePublishSchema(PublishSchemaRequest publishSchemaRequest) {
ExecutionContext executionContext = createExecutionContext(publishSchemaRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new PublishSchemaRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(publishSchemaRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "PublishSchema");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new PublishSchemaResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Allows a schema to be updated using JSON upload. Only available for development schemas. See JSON
* Schema Format for more information.
*
*
* @param putSchemaFromJsonRequest
* @return Result of the PutSchemaFromJson operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws InvalidSchemaDocException
* Indicates that the provided SchemaDoc
value is not valid.
* @throws InvalidRuleException
* Occurs when any of the rule parameter keys or values are invalid.
* @sample AmazonCloudDirectory.PutSchemaFromJson
* @see AWS API Documentation
*/
@Override
public PutSchemaFromJsonResult putSchemaFromJson(PutSchemaFromJsonRequest request) {
request = beforeClientExecution(request);
return executePutSchemaFromJson(request);
}
@SdkInternalApi
final PutSchemaFromJsonResult executePutSchemaFromJson(PutSchemaFromJsonRequest putSchemaFromJsonRequest) {
ExecutionContext executionContext = createExecutionContext(putSchemaFromJsonRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new PutSchemaFromJsonRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(putSchemaFromJsonRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "PutSchemaFromJson");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new PutSchemaFromJsonResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Removes the specified facet from the specified object.
*
*
* @param removeFacetFromObjectRequest
* @return Result of the RemoveFacetFromObject operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws FacetValidationException
* The Facet that you provided was not well formed or could not be validated with the schema.
* @sample AmazonCloudDirectory.RemoveFacetFromObject
* @see AWS API Documentation
*/
@Override
public RemoveFacetFromObjectResult removeFacetFromObject(RemoveFacetFromObjectRequest request) {
request = beforeClientExecution(request);
return executeRemoveFacetFromObject(request);
}
@SdkInternalApi
final RemoveFacetFromObjectResult executeRemoveFacetFromObject(RemoveFacetFromObjectRequest removeFacetFromObjectRequest) {
ExecutionContext executionContext = createExecutionContext(removeFacetFromObjectRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new RemoveFacetFromObjectRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(removeFacetFromObjectRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "RemoveFacetFromObject");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new RemoveFacetFromObjectResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* An API operation for adding tags to a resource.
*
*
* @param tagResourceRequest
* @return Result of the TagResource operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws InvalidTaggingRequestException
* Can occur for multiple reasons such as when you tag a resource that doesn’t exist or if you specify a
* higher number of tags for a resource than the allowed limit. Allowed limit is 50 tags per resource.
* @sample AmazonCloudDirectory.TagResource
* @see AWS API
* Documentation
*/
@Override
public TagResourceResult tagResource(TagResourceRequest request) {
request = beforeClientExecution(request);
return executeTagResource(request);
}
@SdkInternalApi
final TagResourceResult executeTagResource(TagResourceRequest tagResourceRequest) {
ExecutionContext executionContext = createExecutionContext(tagResourceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new TagResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(tagResourceRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "TagResource");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new TagResourceResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* An API operation for removing tags from a resource.
*
*
* @param untagResourceRequest
* @return Result of the UntagResource operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws InvalidTaggingRequestException
* Can occur for multiple reasons such as when you tag a resource that doesn’t exist or if you specify a
* higher number of tags for a resource than the allowed limit. Allowed limit is 50 tags per resource.
* @sample AmazonCloudDirectory.UntagResource
* @see AWS
* API Documentation
*/
@Override
public UntagResourceResult untagResource(UntagResourceRequest request) {
request = beforeClientExecution(request);
return executeUntagResource(request);
}
@SdkInternalApi
final UntagResourceResult executeUntagResource(UntagResourceRequest untagResourceRequest) {
ExecutionContext executionContext = createExecutionContext(untagResourceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UntagResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(untagResourceRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UntagResource");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UntagResourceResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Does the following:
*
*
* -
*
* Adds new Attributes
, Rules
, or ObjectTypes
.
*
*
* -
*
* Updates existing Attributes
, Rules
, or ObjectTypes
.
*
*
* -
*
* Deletes existing Attributes
, Rules
, or ObjectTypes
.
*
*
*
*
* @param updateFacetRequest
* @return Result of the UpdateFacet operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws InvalidFacetUpdateException
* An attempt to modify a Facet resulted in an invalid schema exception.
* @throws FacetValidationException
* The Facet that you provided was not well formed or could not be validated with the schema.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws FacetNotFoundException
* The specified Facet could not be found.
* @throws InvalidRuleException
* Occurs when any of the rule parameter keys or values are invalid.
* @sample AmazonCloudDirectory.UpdateFacet
* @see AWS API
* Documentation
*/
@Override
public UpdateFacetResult updateFacet(UpdateFacetRequest request) {
request = beforeClientExecution(request);
return executeUpdateFacet(request);
}
@SdkInternalApi
final UpdateFacetResult executeUpdateFacet(UpdateFacetRequest updateFacetRequest) {
ExecutionContext executionContext = createExecutionContext(updateFacetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateFacetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateFacetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateFacet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateFacetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Updates a given typed link’s attributes. Attributes to be updated must not contribute to the typed link’s
* identity, as defined by its IdentityAttributeOrder
.
*
*
* @param updateLinkAttributesRequest
* @return Result of the UpdateLinkAttributes operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws FacetValidationException
* The Facet that you provided was not well formed or could not be validated with the schema.
* @sample AmazonCloudDirectory.UpdateLinkAttributes
* @see AWS API Documentation
*/
@Override
public UpdateLinkAttributesResult updateLinkAttributes(UpdateLinkAttributesRequest request) {
request = beforeClientExecution(request);
return executeUpdateLinkAttributes(request);
}
@SdkInternalApi
final UpdateLinkAttributesResult executeUpdateLinkAttributes(UpdateLinkAttributesRequest updateLinkAttributesRequest) {
ExecutionContext executionContext = createExecutionContext(updateLinkAttributesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateLinkAttributesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateLinkAttributesRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateLinkAttributes");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateLinkAttributesResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Updates a given object's attributes.
*
*
* @param updateObjectAttributesRequest
* @return Result of the UpdateObjectAttributes operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws DirectoryNotEnabledException
* Operations are only permitted on enabled directories.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws LinkNameAlreadyInUseException
* Indicates that a link could not be created due to a naming conflict. Choose a different name and then try
* again.
* @throws FacetValidationException
* The Facet that you provided was not well formed or could not be validated with the schema.
* @sample AmazonCloudDirectory.UpdateObjectAttributes
* @see AWS API Documentation
*/
@Override
public UpdateObjectAttributesResult updateObjectAttributes(UpdateObjectAttributesRequest request) {
request = beforeClientExecution(request);
return executeUpdateObjectAttributes(request);
}
@SdkInternalApi
final UpdateObjectAttributesResult executeUpdateObjectAttributes(UpdateObjectAttributesRequest updateObjectAttributesRequest) {
ExecutionContext executionContext = createExecutionContext(updateObjectAttributesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateObjectAttributesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateObjectAttributesRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateObjectAttributes");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new UpdateObjectAttributesResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Updates the schema name with a new name. Only development schema names can be updated.
*
*
* @param updateSchemaRequest
* @return Result of the UpdateSchema operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @sample AmazonCloudDirectory.UpdateSchema
* @see AWS
* API Documentation
*/
@Override
public UpdateSchemaResult updateSchema(UpdateSchemaRequest request) {
request = beforeClientExecution(request);
return executeUpdateSchema(request);
}
@SdkInternalApi
final UpdateSchemaResult executeUpdateSchema(UpdateSchemaRequest updateSchemaRequest) {
ExecutionContext executionContext = createExecutionContext(updateSchemaRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateSchemaRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateSchemaRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateSchema");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateSchemaResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Updates a TypedLinkFacet. For more information, see Typed Links.
*
*
* @param updateTypedLinkFacetRequest
* @return Result of the UpdateTypedLinkFacet operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws FacetValidationException
* The Facet that you provided was not well formed or could not be validated with the schema.
* @throws InvalidFacetUpdateException
* An attempt to modify a Facet resulted in an invalid schema exception.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws FacetNotFoundException
* The specified Facet could not be found.
* @throws InvalidRuleException
* Occurs when any of the rule parameter keys or values are invalid.
* @sample AmazonCloudDirectory.UpdateTypedLinkFacet
* @see AWS API Documentation
*/
@Override
public UpdateTypedLinkFacetResult updateTypedLinkFacet(UpdateTypedLinkFacetRequest request) {
request = beforeClientExecution(request);
return executeUpdateTypedLinkFacet(request);
}
@SdkInternalApi
final UpdateTypedLinkFacetResult executeUpdateTypedLinkFacet(UpdateTypedLinkFacetRequest updateTypedLinkFacetRequest) {
ExecutionContext executionContext = createExecutionContext(updateTypedLinkFacetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateTypedLinkFacetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateTypedLinkFacetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateTypedLinkFacet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateTypedLinkFacetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Upgrades a single directory in-place using the PublishedSchemaArn
with schema updates found in
* MinorVersion
. Backwards-compatible minor version upgrades are instantaneously available for readers
* on all objects in the directory. Note: This is a synchronous API call and upgrades only one schema on a given
* directory per call. To upgrade multiple directories from one schema, you would need to call this API on each
* directory.
*
*
* @param upgradeAppliedSchemaRequest
* @return Result of the UpgradeAppliedSchema operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws IncompatibleSchemaException
* Indicates a failure occurred while performing a check for backward compatibility between the specified
* schema and the schema that is currently applied to the directory.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws 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.
* @throws SchemaAlreadyExistsException
* Indicates that a schema could not be created due to a naming conflict. Please select a different name and
* then try again.
* @sample AmazonCloudDirectory.UpgradeAppliedSchema
* @see AWS API Documentation
*/
@Override
public UpgradeAppliedSchemaResult upgradeAppliedSchema(UpgradeAppliedSchemaRequest request) {
request = beforeClientExecution(request);
return executeUpgradeAppliedSchema(request);
}
@SdkInternalApi
final UpgradeAppliedSchemaResult executeUpgradeAppliedSchema(UpgradeAppliedSchemaRequest upgradeAppliedSchemaRequest) {
ExecutionContext executionContext = createExecutionContext(upgradeAppliedSchemaRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpgradeAppliedSchemaRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(upgradeAppliedSchemaRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpgradeAppliedSchema");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpgradeAppliedSchemaResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Upgrades a published schema under a new minor version revision using the current contents of
* DevelopmentSchemaArn
.
*
*
* @param upgradePublishedSchemaRequest
* @return Result of the UpgradePublishedSchema operation returned by the service.
* @throws 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.
* @throws InvalidArnException
* Indicates that the provided ARN value is not valid.
* @throws 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.
* @throws ValidationException
* Indicates that your request is malformed in some manner. See the exception message.
* @throws IncompatibleSchemaException
* Indicates a failure occurred while performing a check for backward compatibility between the specified
* schema and the schema that is currently applied to the directory.
* @throws AccessDeniedException
* Access denied or directory not found. Either you don't have permissions for this directory or the
* directory does not exist. Try calling ListDirectories and check your permissions.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws 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.
* @throws LimitExceededException
* Indicates that limits are exceeded. See Limits for more
* information.
* @sample AmazonCloudDirectory.UpgradePublishedSchema
* @see AWS API Documentation
*/
@Override
public UpgradePublishedSchemaResult upgradePublishedSchema(UpgradePublishedSchemaRequest request) {
request = beforeClientExecution(request);
return executeUpgradePublishedSchema(request);
}
@SdkInternalApi
final UpgradePublishedSchemaResult executeUpgradePublishedSchema(UpgradePublishedSchemaRequest upgradePublishedSchemaRequest) {
ExecutionContext executionContext = createExecutionContext(upgradePublishedSchemaRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpgradePublishedSchemaRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(upgradePublishedSchemaRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudDirectory");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpgradePublishedSchema");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new UpgradePublishedSchemaResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* Returns additional metadata for a previously executed successful, request, typically used for debugging issues
* where a service isn't acting as expected. This data isn't considered part of the result data returned by an
* operation, so it's available through this separate, diagnostic interface.
*
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
* information for an executed request, you should use this method to retrieve it as soon as possible after
* executing the request.
*
* @param request
* The originally executed request
*
* @return The response metadata for the specified request, or null if none is available.
*/
public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) {
return client.getResponseMetadataForRequest(request);
}
/**
* Normal invoke with authentication. Credentials are required and may be overriden at the request level.
**/
private Response invoke(Request request, HttpResponseHandler> responseHandler,
ExecutionContext executionContext) {
return invoke(request, responseHandler, executionContext, null, null);
}
/**
* Normal invoke with authentication. Credentials are required and may be overriden at the request level.
**/
private Response invoke(Request request, HttpResponseHandler> responseHandler,
ExecutionContext executionContext, URI cachedEndpoint, URI uriFromEndpointTrait) {
executionContext.setCredentialsProvider(CredentialUtils.getCredentialsProvider(request.getOriginalRequest(), awsCredentialsProvider));
return doInvoke(request, responseHandler, executionContext, cachedEndpoint, uriFromEndpointTrait);
}
/**
* Invoke with no authentication. Credentials are not required and any credentials set on the client or request will
* be ignored for this operation.
**/
private Response anonymousInvoke(Request request,
HttpResponseHandler> responseHandler, ExecutionContext executionContext) {
return doInvoke(request, responseHandler, executionContext, null, null);
}
/**
* Invoke the request using the http client. Assumes credentials (or lack thereof) have been configured in the
* ExecutionContext beforehand.
**/
private Response doInvoke(Request request, HttpResponseHandler> responseHandler,
ExecutionContext executionContext, URI discoveredEndpoint, URI uriFromEndpointTrait) {
if (discoveredEndpoint != null) {
request.setEndpoint(discoveredEndpoint);
request.getOriginalRequest().getRequestClientOptions().appendUserAgent("endpoint-discovery");
} else if (uriFromEndpointTrait != null) {
request.setEndpoint(uriFromEndpointTrait);
} else {
request.setEndpoint(endpoint);
}
request.setTimeOffset(timeOffset);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(new JsonErrorResponseMetadata());
return client.execute(request, responseHandler, errorResponseHandler, executionContext);
}
@com.amazonaws.annotation.SdkInternalApi
static com.amazonaws.protocol.json.SdkJsonProtocolFactory getProtocolFactory() {
return protocolFactory;
}
@Override
public void shutdown() {
super.shutdown();
}
}