Module: Aws::CloudDirectory::ClientApi Private

Includes:
Seahorse::Model
Defined in:
lib/aws-sdk-clouddirectory/client_api.rb

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Constant Summary collapse

AccessDeniedException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AccessDeniedException')
AddFacetToObjectRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AddFacetToObjectRequest')
AddFacetToObjectResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AddFacetToObjectResponse')
ApplySchemaRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ApplySchemaRequest')
ApplySchemaResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ApplySchemaResponse')
Arn =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Arn')
Arns =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'Arns')
AttachObjectRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AttachObjectRequest')
AttachObjectResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AttachObjectResponse')
AttachPolicyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AttachPolicyRequest')
AttachPolicyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AttachPolicyResponse')
AttachToIndexRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AttachToIndexRequest')
AttachToIndexResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AttachToIndexResponse')
AttachTypedLinkRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AttachTypedLinkRequest')
AttachTypedLinkResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AttachTypedLinkResponse')
AttributeKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AttributeKey')
AttributeKeyAndValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AttributeKeyAndValue')
AttributeKeyAndValueList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AttributeKeyAndValueList')
AttributeKeyList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AttributeKeyList')
AttributeName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AttributeName')
AttributeNameAndValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AttributeNameAndValue')
AttributeNameAndValueList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AttributeNameAndValueList')
AttributeNameList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AttributeNameList')
BatchAddFacetToObject =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchAddFacetToObject')
BatchAddFacetToObjectResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchAddFacetToObjectResponse')
BatchAttachObject =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchAttachObject')
BatchAttachObjectResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchAttachObjectResponse')
BatchAttachPolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchAttachPolicy')
BatchAttachPolicyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchAttachPolicyResponse')
BatchAttachToIndex =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchAttachToIndex')
BatchAttachToIndexResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchAttachToIndexResponse')
Shapes::StructureShape.new(name: 'BatchAttachTypedLink')
BatchAttachTypedLinkResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchAttachTypedLinkResponse')
BatchCreateIndex =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchCreateIndex')
BatchCreateIndexResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchCreateIndexResponse')
BatchCreateObject =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchCreateObject')
BatchCreateObjectResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchCreateObjectResponse')
BatchDeleteObject =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchDeleteObject')
BatchDeleteObjectResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchDeleteObjectResponse')
BatchDetachFromIndex =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchDetachFromIndex')
BatchDetachFromIndexResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchDetachFromIndexResponse')
BatchDetachObject =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchDetachObject')
BatchDetachObjectResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchDetachObjectResponse')
BatchDetachPolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchDetachPolicy')
BatchDetachPolicyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchDetachPolicyResponse')
Shapes::StructureShape.new(name: 'BatchDetachTypedLink')
BatchDetachTypedLinkResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchDetachTypedLinkResponse')
BatchGetLinkAttributes =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetLinkAttributes')
BatchGetLinkAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetLinkAttributesResponse')
BatchGetObjectAttributes =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetObjectAttributes')
BatchGetObjectAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetObjectAttributesResponse')
BatchGetObjectInformation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetObjectInformation')
BatchGetObjectInformationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetObjectInformationResponse')
BatchListAttachedIndices =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchListAttachedIndices')
BatchListAttachedIndicesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchListAttachedIndicesResponse')
Shapes::StructureShape.new(name: 'BatchListIncomingTypedLinks')
BatchListIncomingTypedLinksResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchListIncomingTypedLinksResponse')
BatchListIndex =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchListIndex')
BatchListIndexResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchListIndexResponse')
BatchListObjectAttributes =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchListObjectAttributes')
BatchListObjectAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchListObjectAttributesResponse')
BatchListObjectChildren =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchListObjectChildren')
BatchListObjectChildrenResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchListObjectChildrenResponse')
BatchListObjectParentPaths =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchListObjectParentPaths')
BatchListObjectParentPathsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchListObjectParentPathsResponse')
BatchListObjectParents =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchListObjectParents')
BatchListObjectParentsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchListObjectParentsResponse')
BatchListObjectPolicies =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchListObjectPolicies')
BatchListObjectPoliciesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchListObjectPoliciesResponse')
Shapes::StructureShape.new(name: 'BatchListOutgoingTypedLinks')
BatchListOutgoingTypedLinksResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchListOutgoingTypedLinksResponse')
BatchListPolicyAttachments =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchListPolicyAttachments')
BatchListPolicyAttachmentsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchListPolicyAttachmentsResponse')
BatchLookupPolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchLookupPolicy')
BatchLookupPolicyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchLookupPolicyResponse')
BatchOperationIndex =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'BatchOperationIndex')
BatchReadException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchReadException')
BatchReadExceptionType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'BatchReadExceptionType')
BatchReadOperation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchReadOperation')
BatchReadOperationList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchReadOperationList')
BatchReadOperationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchReadOperationResponse')
BatchReadOperationResponseList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchReadOperationResponseList')
BatchReadRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchReadRequest')
BatchReadResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchReadResponse')
BatchReadSuccessfulResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchReadSuccessfulResponse')
BatchReferenceName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'BatchReferenceName')
BatchRemoveFacetFromObject =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchRemoveFacetFromObject')
BatchRemoveFacetFromObjectResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchRemoveFacetFromObjectResponse')
BatchUpdateLinkAttributes =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchUpdateLinkAttributes')
BatchUpdateLinkAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchUpdateLinkAttributesResponse')
BatchUpdateObjectAttributes =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchUpdateObjectAttributes')
BatchUpdateObjectAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchUpdateObjectAttributesResponse')
BatchWriteException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchWriteException')
BatchWriteExceptionType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'BatchWriteExceptionType')
BatchWriteOperation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchWriteOperation')
BatchWriteOperationList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchWriteOperationList')
BatchWriteOperationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchWriteOperationResponse')
BatchWriteOperationResponseList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchWriteOperationResponseList')
BatchWriteRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchWriteRequest')
BatchWriteResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchWriteResponse')
BinaryAttributeValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BlobShape.new(name: 'BinaryAttributeValue')
Bool =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'Bool')
BooleanAttributeValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'BooleanAttributeValue')
CannotListParentOfRootException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CannotListParentOfRootException')
ConsistencyLevel =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ConsistencyLevel')
CreateDirectoryRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateDirectoryRequest')
CreateDirectoryResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateDirectoryResponse')
CreateFacetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateFacetRequest')
CreateFacetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateFacetResponse')
CreateIndexRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateIndexRequest')
CreateIndexResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateIndexResponse')
CreateObjectRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateObjectRequest')
CreateObjectResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateObjectResponse')
CreateSchemaRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateSchemaRequest')
CreateSchemaResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateSchemaResponse')
CreateTypedLinkFacetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateTypedLinkFacetRequest')
CreateTypedLinkFacetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateTypedLinkFacetResponse')
Date =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::TimestampShape.new(name: 'Date')
DatetimeAttributeValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::TimestampShape.new(name: 'DatetimeAttributeValue')
DeleteDirectoryRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteDirectoryRequest')
DeleteDirectoryResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteDirectoryResponse')
DeleteFacetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteFacetRequest')
DeleteFacetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteFacetResponse')
DeleteObjectRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteObjectRequest')
DeleteObjectResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteObjectResponse')
DeleteSchemaRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteSchemaRequest')
DeleteSchemaResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteSchemaResponse')
DeleteTypedLinkFacetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteTypedLinkFacetRequest')
DeleteTypedLinkFacetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteTypedLinkFacetResponse')
DetachFromIndexRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DetachFromIndexRequest')
DetachFromIndexResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DetachFromIndexResponse')
DetachObjectRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DetachObjectRequest')
DetachObjectResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DetachObjectResponse')
DetachPolicyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DetachPolicyRequest')
DetachPolicyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DetachPolicyResponse')
DetachTypedLinkRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DetachTypedLinkRequest')
Directory =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Directory')
DirectoryAlreadyExistsException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DirectoryAlreadyExistsException')
DirectoryArn =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DirectoryArn')
DirectoryDeletedException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DirectoryDeletedException')
DirectoryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'DirectoryList')
DirectoryName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DirectoryName')
DirectoryNotDisabledException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DirectoryNotDisabledException')
DirectoryNotEnabledException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DirectoryNotEnabledException')
DirectoryState =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DirectoryState')
DisableDirectoryRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisableDirectoryRequest')
DisableDirectoryResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisableDirectoryResponse')
EnableDirectoryRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EnableDirectoryRequest')
EnableDirectoryResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EnableDirectoryResponse')
ExceptionMessage =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ExceptionMessage')
Facet =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Facet')
FacetAlreadyExistsException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FacetAlreadyExistsException')
FacetAttribute =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FacetAttribute')
FacetAttributeDefinition =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FacetAttributeDefinition')
FacetAttributeList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'FacetAttributeList')
FacetAttributeReference =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FacetAttributeReference')
FacetAttributeType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'FacetAttributeType')
FacetAttributeUpdate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FacetAttributeUpdate')
FacetAttributeUpdateList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'FacetAttributeUpdateList')
FacetInUseException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FacetInUseException')
FacetName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'FacetName')
FacetNameList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'FacetNameList')
FacetNotFoundException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FacetNotFoundException')
FacetStyle =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'FacetStyle')
FacetValidationException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FacetValidationException')
GetAppliedSchemaVersionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetAppliedSchemaVersionRequest')
GetAppliedSchemaVersionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetAppliedSchemaVersionResponse')
GetDirectoryRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDirectoryRequest')
GetDirectoryResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDirectoryResponse')
GetFacetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetFacetRequest')
GetFacetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetFacetResponse')
GetLinkAttributesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetLinkAttributesRequest')
GetLinkAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetLinkAttributesResponse')
GetObjectAttributesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetObjectAttributesRequest')
GetObjectAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetObjectAttributesResponse')
GetObjectInformationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetObjectInformationRequest')
GetObjectInformationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetObjectInformationResponse')
GetSchemaAsJsonRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSchemaAsJsonRequest')
GetSchemaAsJsonResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSchemaAsJsonResponse')
GetTypedLinkFacetInformationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetTypedLinkFacetInformationRequest')
GetTypedLinkFacetInformationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetTypedLinkFacetInformationResponse')
IncompatibleSchemaException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'IncompatibleSchemaException')
IndexAttachment =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'IndexAttachment')
IndexAttachmentList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'IndexAttachmentList')
IndexedAttributeMissingException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'IndexedAttributeMissingException')
InternalServiceException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InternalServiceException')
InvalidArnException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidArnException')
InvalidAttachmentException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidAttachmentException')
InvalidFacetUpdateException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidFacetUpdateException')
InvalidNextTokenException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidNextTokenException')
InvalidRuleException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidRuleException')
InvalidSchemaDocException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidSchemaDocException')
InvalidTaggingRequestException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidTaggingRequestException')
LimitExceededException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LimitExceededException')
LinkAttributeAction =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LinkAttributeAction')
LinkAttributeUpdate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LinkAttributeUpdate')
LinkAttributeUpdateList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'LinkAttributeUpdateList')
LinkName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'LinkName')
LinkNameAlreadyInUseException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LinkNameAlreadyInUseException')
LinkNameToObjectIdentifierMap =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::MapShape.new(name: 'LinkNameToObjectIdentifierMap')
ListAppliedSchemaArnsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAppliedSchemaArnsRequest')
ListAppliedSchemaArnsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAppliedSchemaArnsResponse')
ListAttachedIndicesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAttachedIndicesRequest')
ListAttachedIndicesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAttachedIndicesResponse')
ListDevelopmentSchemaArnsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDevelopmentSchemaArnsRequest')
ListDevelopmentSchemaArnsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDevelopmentSchemaArnsResponse')
ListDirectoriesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDirectoriesRequest')
ListDirectoriesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDirectoriesResponse')
ListFacetAttributesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListFacetAttributesRequest')
ListFacetAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListFacetAttributesResponse')
ListFacetNamesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListFacetNamesRequest')
ListFacetNamesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListFacetNamesResponse')
ListIncomingTypedLinksRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListIncomingTypedLinksRequest')
ListIncomingTypedLinksResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListIncomingTypedLinksResponse')
ListIndexRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListIndexRequest')
ListIndexResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListIndexResponse')
ListManagedSchemaArnsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListManagedSchemaArnsRequest')
ListManagedSchemaArnsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListManagedSchemaArnsResponse')
ListObjectAttributesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListObjectAttributesRequest')
ListObjectAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListObjectAttributesResponse')
ListObjectChildrenRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListObjectChildrenRequest')
ListObjectChildrenResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListObjectChildrenResponse')
ListObjectParentPathsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListObjectParentPathsRequest')
ListObjectParentPathsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListObjectParentPathsResponse')
ListObjectParentsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListObjectParentsRequest')
ListObjectParentsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListObjectParentsResponse')
ListObjectPoliciesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListObjectPoliciesRequest')
ListObjectPoliciesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListObjectPoliciesResponse')
ListOutgoingTypedLinksRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListOutgoingTypedLinksRequest')
ListOutgoingTypedLinksResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListOutgoingTypedLinksResponse')
ListPolicyAttachmentsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListPolicyAttachmentsRequest')
ListPolicyAttachmentsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListPolicyAttachmentsResponse')
ListPublishedSchemaArnsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListPublishedSchemaArnsRequest')
ListPublishedSchemaArnsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListPublishedSchemaArnsResponse')
ListTagsForResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
ListTagsForResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
ListTypedLinkFacetAttributesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTypedLinkFacetAttributesRequest')
ListTypedLinkFacetAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTypedLinkFacetAttributesResponse')
ListTypedLinkFacetNamesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTypedLinkFacetNamesRequest')
ListTypedLinkFacetNamesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTypedLinkFacetNamesResponse')
LookupPolicyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LookupPolicyRequest')
LookupPolicyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LookupPolicyResponse')
NextToken =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'NextToken')
NotIndexException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'NotIndexException')
NotNodeException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'NotNodeException')
NotPolicyException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'NotPolicyException')
NumberAttributeValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'NumberAttributeValue')
NumberResults =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'NumberResults')
ObjectAlreadyDetachedException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ObjectAlreadyDetachedException')
ObjectAttributeAction =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ObjectAttributeAction')
ObjectAttributeRange =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ObjectAttributeRange')
ObjectAttributeRangeList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ObjectAttributeRangeList')
ObjectAttributeUpdate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ObjectAttributeUpdate')
ObjectAttributeUpdateList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ObjectAttributeUpdateList')
ObjectIdentifier =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ObjectIdentifier')
ObjectIdentifierAndLinkNameList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ObjectIdentifierAndLinkNameList')
ObjectIdentifierAndLinkNameTuple =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ObjectIdentifierAndLinkNameTuple')
ObjectIdentifierList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ObjectIdentifierList')
ObjectIdentifierToLinkNameMap =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::MapShape.new(name: 'ObjectIdentifierToLinkNameMap')
ObjectNotDetachedException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ObjectNotDetachedException')
ObjectReference =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ObjectReference')
ObjectType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ObjectType')
PathString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PathString')
PathToObjectIdentifiers =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PathToObjectIdentifiers')
PathToObjectIdentifiersList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'PathToObjectIdentifiersList')
PolicyAttachment =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PolicyAttachment')
PolicyAttachmentList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'PolicyAttachmentList')
PolicyToPath =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PolicyToPath')
PolicyToPathList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'PolicyToPathList')
PolicyType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PolicyType')
PublishSchemaRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PublishSchemaRequest')
PublishSchemaResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PublishSchemaResponse')
PutSchemaFromJsonRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutSchemaFromJsonRequest')
PutSchemaFromJsonResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutSchemaFromJsonResponse')
RangeMode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RangeMode')
RemoveFacetFromObjectRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RemoveFacetFromObjectRequest')
RemoveFacetFromObjectResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RemoveFacetFromObjectResponse')
RequiredAttributeBehavior =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RequiredAttributeBehavior')
ResourceNotFoundException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ResourceNotFoundException')
RetryableConflictException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RetryableConflictException')
Rule =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Rule')
RuleKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RuleKey')
RuleMap =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::MapShape.new(name: 'RuleMap')
RuleParameterKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RuleParameterKey')
RuleParameterMap =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::MapShape.new(name: 'RuleParameterMap')
RuleParameterValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RuleParameterValue')
RuleType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RuleType')
SchemaAlreadyExistsException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SchemaAlreadyExistsException')
SchemaAlreadyPublishedException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SchemaAlreadyPublishedException')
SchemaFacet =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SchemaFacet')
SchemaFacetList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SchemaFacetList')
SchemaJsonDocument =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SchemaJsonDocument')
SchemaName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SchemaName')
SelectorObjectReference =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SelectorObjectReference')
StillContainsLinksException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'StillContainsLinksException')
StringAttributeValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'StringAttributeValue')
Tag =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Tag')
TagKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TagKey')
TagKeyList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TagKeyList')
TagList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TagList')
TagResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagResourceRequest')
TagResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagResourceResponse')
TagValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TagValue')
TagsNumberResults =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'TagsNumberResults')
TypedAttributeValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TypedAttributeValue')
TypedAttributeValueRange =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TypedAttributeValueRange')
TypedLinkAttributeDefinition =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TypedLinkAttributeDefinition')
TypedLinkAttributeDefinitionList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TypedLinkAttributeDefinitionList')
TypedLinkAttributeRange =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TypedLinkAttributeRange')
TypedLinkAttributeRangeList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TypedLinkAttributeRangeList')
TypedLinkFacet =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TypedLinkFacet')
TypedLinkFacetAttributeUpdate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TypedLinkFacetAttributeUpdate')
TypedLinkFacetAttributeUpdateList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TypedLinkFacetAttributeUpdateList')
TypedLinkName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TypedLinkName')
TypedLinkNameList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TypedLinkNameList')
TypedLinkSchemaAndFacetName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TypedLinkSchemaAndFacetName')
TypedLinkSpecifier =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TypedLinkSpecifier')
TypedLinkSpecifierList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TypedLinkSpecifierList')
UnsupportedIndexTypeException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UnsupportedIndexTypeException')
UntagResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UntagResourceRequest')
UntagResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UntagResourceResponse')
UpdateActionType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'UpdateActionType')
UpdateFacetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateFacetRequest')
UpdateFacetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateFacetResponse')
UpdateLinkAttributesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateLinkAttributesRequest')
UpdateLinkAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateLinkAttributesResponse')
UpdateObjectAttributesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateObjectAttributesRequest')
UpdateObjectAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateObjectAttributesResponse')
UpdateSchemaRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateSchemaRequest')
UpdateSchemaResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateSchemaResponse')
UpdateTypedLinkFacetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateTypedLinkFacetRequest')
UpdateTypedLinkFacetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateTypedLinkFacetResponse')
UpgradeAppliedSchemaRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpgradeAppliedSchemaRequest')
UpgradeAppliedSchemaResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpgradeAppliedSchemaResponse')
UpgradePublishedSchemaRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpgradePublishedSchemaRequest')
UpgradePublishedSchemaResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpgradePublishedSchemaResponse')
ValidationException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ValidationException')
Version =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Version')
API =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Seahorse::Model::Api.new.tap do |api|

  api.version = "2017-01-11"

  api. = {
    "apiVersion" => "2017-01-11",
    "auth" => ["aws.auth#sigv4"],
    "endpointPrefix" => "clouddirectory",
    "protocol" => "rest-json",
    "protocols" => ["rest-json"],
    "serviceFullName" => "Amazon CloudDirectory",
    "serviceId" => "CloudDirectory",
    "signatureVersion" => "v4",
    "signingName" => "clouddirectory",
    "uid" => "clouddirectory-2017-01-11",
  }

  api.add_operation(:add_facet_to_object, Seahorse::Model::Operation.new.tap do |o|
    o.name = "AddFacetToObject"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/object/facets"
    o.input = Shapes::ShapeRef.new(shape: AddFacetToObjectRequest)
    o.output = Shapes::ShapeRef.new(shape: AddFacetToObjectResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: FacetValidationException)
  end)

  api.add_operation(:apply_schema, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ApplySchema"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/schema/apply"
    o.input = Shapes::ShapeRef.new(shape: ApplySchemaRequest)
    o.output = Shapes::ShapeRef.new(shape: ApplySchemaResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: SchemaAlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidAttachmentException)
  end)

  api.add_operation(:attach_object, Seahorse::Model::Operation.new.tap do |o|
    o.name = "AttachObject"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/object/attach"
    o.input = Shapes::ShapeRef.new(shape: AttachObjectRequest)
    o.output = Shapes::ShapeRef.new(shape: AttachObjectResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: LinkNameAlreadyInUseException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidAttachmentException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: FacetValidationException)
  end)

  api.add_operation(:attach_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "AttachPolicy"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/policy/attach"
    o.input = Shapes::ShapeRef.new(shape: AttachPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: AttachPolicyResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: NotPolicyException)
  end)

  api.add_operation(:attach_to_index, Seahorse::Model::Operation.new.tap do |o|
    o.name = "AttachToIndex"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/index/attach"
    o.input = Shapes::ShapeRef.new(shape: AttachToIndexRequest)
    o.output = Shapes::ShapeRef.new(shape: AttachToIndexResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidAttachmentException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: LinkNameAlreadyInUseException)
    o.errors << Shapes::ShapeRef.new(shape: IndexedAttributeMissingException)
    o.errors << Shapes::ShapeRef.new(shape: NotIndexException)
  end)

  api.add_operation(:attach_typed_link, Seahorse::Model::Operation.new.tap do |o|
    o.name = "AttachTypedLink"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/typedlink/attach"
    o.input = Shapes::ShapeRef.new(shape: AttachTypedLinkRequest)
    o.output = Shapes::ShapeRef.new(shape: AttachTypedLinkResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidAttachmentException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: FacetValidationException)
  end)

  api.add_operation(:batch_read, Seahorse::Model::Operation.new.tap do |o|
    o.name = "BatchRead"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/batchread"
    o.input = Shapes::ShapeRef.new(shape: BatchReadRequest)
    o.output = Shapes::ShapeRef.new(shape: BatchReadResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
  end)

  api.add_operation(:batch_write, Seahorse::Model::Operation.new.tap do |o|
    o.name = "BatchWrite"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/batchwrite"
    o.input = Shapes::ShapeRef.new(shape: BatchWriteRequest)
    o.output = Shapes::ShapeRef.new(shape: BatchWriteResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: BatchWriteException)
  end)

  api.add_operation(:create_directory, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateDirectory"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/directory/create"
    o.input = Shapes::ShapeRef.new(shape: CreateDirectoryRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateDirectoryResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryAlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:create_facet, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateFacet"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/facet/create"
    o.input = Shapes::ShapeRef.new(shape: CreateFacetRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateFacetResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: FacetAlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRuleException)
    o.errors << Shapes::ShapeRef.new(shape: FacetValidationException)
  end)

  api.add_operation(:create_index, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateIndex"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/index"
    o.input = Shapes::ShapeRef.new(shape: CreateIndexRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateIndexResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: FacetValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LinkNameAlreadyInUseException)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedIndexTypeException)
  end)

  api.add_operation(:create_object, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateObject"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/object"
    o.input = Shapes::ShapeRef.new(shape: CreateObjectRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateObjectResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: FacetValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LinkNameAlreadyInUseException)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedIndexTypeException)
  end)

  api.add_operation(:create_schema, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateSchema"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/schema/create"
    o.input = Shapes::ShapeRef.new(shape: CreateSchemaRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateSchemaResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: SchemaAlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
  end)

  api.add_operation(:create_typed_link_facet, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateTypedLinkFacet"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/typedlink/facet/create"
    o.input = Shapes::ShapeRef.new(shape: CreateTypedLinkFacetRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateTypedLinkFacetResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: FacetAlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRuleException)
    o.errors << Shapes::ShapeRef.new(shape: FacetValidationException)
  end)

  api.add_operation(:delete_directory, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteDirectory"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/directory"
    o.input = Shapes::ShapeRef.new(shape: DeleteDirectoryRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteDirectoryResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotDisabledException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryDeletedException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
  end)

  api.add_operation(:delete_facet, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteFacet"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/facet/delete"
    o.input = Shapes::ShapeRef.new(shape: DeleteFacetRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteFacetResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: FacetNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: FacetInUseException)
  end)

  api.add_operation(:delete_object, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteObject"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/object/delete"
    o.input = Shapes::ShapeRef.new(shape: DeleteObjectRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteObjectResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ObjectNotDetachedException)
  end)

  api.add_operation(:delete_schema, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteSchema"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/schema"
    o.input = Shapes::ShapeRef.new(shape: DeleteSchemaRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteSchemaResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: StillContainsLinksException)
  end)

  api.add_operation(:delete_typed_link_facet, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteTypedLinkFacet"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/typedlink/facet/delete"
    o.input = Shapes::ShapeRef.new(shape: DeleteTypedLinkFacetRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteTypedLinkFacetResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: FacetNotFoundException)
  end)

  api.add_operation(:detach_from_index, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DetachFromIndex"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/index/detach"
    o.input = Shapes::ShapeRef.new(shape: DetachFromIndexRequest)
    o.output = Shapes::ShapeRef.new(shape: DetachFromIndexResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ObjectAlreadyDetachedException)
    o.errors << Shapes::ShapeRef.new(shape: NotIndexException)
  end)

  api.add_operation(:detach_object, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DetachObject"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/object/detach"
    o.input = Shapes::ShapeRef.new(shape: DetachObjectRequest)
    o.output = Shapes::ShapeRef.new(shape: DetachObjectResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: NotNodeException)
  end)

  api.add_operation(:detach_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DetachPolicy"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/policy/detach"
    o.input = Shapes::ShapeRef.new(shape: DetachPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: DetachPolicyResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: NotPolicyException)
  end)

  api.add_operation(:detach_typed_link, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DetachTypedLink"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/typedlink/detach"
    o.input = Shapes::ShapeRef.new(shape: DetachTypedLinkRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: FacetValidationException)
  end)

  api.add_operation(:disable_directory, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DisableDirectory"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/directory/disable"
    o.input = Shapes::ShapeRef.new(shape: DisableDirectoryRequest)
    o.output = Shapes::ShapeRef.new(shape: DisableDirectoryResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryDeletedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
  end)

  api.add_operation(:enable_directory, Seahorse::Model::Operation.new.tap do |o|
    o.name = "EnableDirectory"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/directory/enable"
    o.input = Shapes::ShapeRef.new(shape: EnableDirectoryRequest)
    o.output = Shapes::ShapeRef.new(shape: EnableDirectoryResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryDeletedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
  end)

  api.add_operation(:get_applied_schema_version, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetAppliedSchemaVersion"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/schema/getappliedschema"
    o.input = Shapes::ShapeRef.new(shape: GetAppliedSchemaVersionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetAppliedSchemaVersionResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:get_directory, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetDirectory"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/directory/get"
    o.input = Shapes::ShapeRef.new(shape: GetDirectoryRequest)
    o.output = Shapes::ShapeRef.new(shape: GetDirectoryResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
  end)

  api.add_operation(:get_facet, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetFacet"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/facet"
    o.input = Shapes::ShapeRef.new(shape: GetFacetRequest)
    o.output = Shapes::ShapeRef.new(shape: GetFacetResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: FacetNotFoundException)
  end)

  api.add_operation(:get_link_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetLinkAttributes"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/typedlink/attributes/get"
    o.input = Shapes::ShapeRef.new(shape: GetLinkAttributesRequest)
    o.output = Shapes::ShapeRef.new(shape: GetLinkAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: FacetValidationException)
  end)

  api.add_operation(:get_object_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetObjectAttributes"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/object/attributes/get"
    o.input = Shapes::ShapeRef.new(shape: GetObjectAttributesRequest)
    o.output = Shapes::ShapeRef.new(shape: GetObjectAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: FacetValidationException)
  end)

  api.add_operation(:get_object_information, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetObjectInformation"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/object/information"
    o.input = Shapes::ShapeRef.new(shape: GetObjectInformationRequest)
    o.output = Shapes::ShapeRef.new(shape: GetObjectInformationResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:get_schema_as_json, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetSchemaAsJson"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/schema/json"
    o.input = Shapes::ShapeRef.new(shape: GetSchemaAsJsonRequest)
    o.output = Shapes::ShapeRef.new(shape: GetSchemaAsJsonResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
  end)

  api.add_operation(:get_typed_link_facet_information, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetTypedLinkFacetInformation"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/typedlink/facet/get"
    o.input = Shapes::ShapeRef.new(shape: GetTypedLinkFacetInformationRequest)
    o.output = Shapes::ShapeRef.new(shape: GetTypedLinkFacetInformationResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o.errors << Shapes::ShapeRef.new(shape: FacetNotFoundException)
  end)

  api.add_operation(:list_applied_schema_arns, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListAppliedSchemaArns"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/schema/applied"
    o.input = Shapes::ShapeRef.new(shape: ListAppliedSchemaArnsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListAppliedSchemaArnsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_attached_indices, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListAttachedIndices"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/object/indices"
    o.input = Shapes::ShapeRef.new(shape: ListAttachedIndicesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListAttachedIndicesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_development_schema_arns, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListDevelopmentSchemaArns"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/schema/development"
    o.input = Shapes::ShapeRef.new(shape: ListDevelopmentSchemaArnsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListDevelopmentSchemaArnsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_directories, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListDirectories"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/directory/list"
    o.input = Shapes::ShapeRef.new(shape: ListDirectoriesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListDirectoriesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_facet_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListFacetAttributes"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/facet/attributes"
    o.input = Shapes::ShapeRef.new(shape: ListFacetAttributesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListFacetAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: FacetNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_facet_names, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListFacetNames"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/facet/list"
    o.input = Shapes::ShapeRef.new(shape: ListFacetNamesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListFacetNamesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_incoming_typed_links, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListIncomingTypedLinks"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/typedlink/incoming"
    o.input = Shapes::ShapeRef.new(shape: ListIncomingTypedLinksRequest)
    o.output = Shapes::ShapeRef.new(shape: ListIncomingTypedLinksResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o.errors << Shapes::ShapeRef.new(shape: FacetValidationException)
  end)

  api.add_operation(:list_index, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListIndex"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/index/targets"
    o.input = Shapes::ShapeRef.new(shape: ListIndexRequest)
    o.output = Shapes::ShapeRef.new(shape: ListIndexResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: FacetValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: NotIndexException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_managed_schema_arns, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListManagedSchemaArns"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/schema/managed"
    o.input = Shapes::ShapeRef.new(shape: ListManagedSchemaArnsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListManagedSchemaArnsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_object_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListObjectAttributes"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/object/attributes"
    o.input = Shapes::ShapeRef.new(shape: ListObjectAttributesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListObjectAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o.errors << Shapes::ShapeRef.new(shape: FacetValidationException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_object_children, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListObjectChildren"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/object/children"
    o.input = Shapes::ShapeRef.new(shape: ListObjectChildrenRequest)
    o.output = Shapes::ShapeRef.new(shape: ListObjectChildrenResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o.errors << Shapes::ShapeRef.new(shape: NotNodeException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_object_parent_paths, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListObjectParentPaths"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/object/parentpaths"
    o.input = Shapes::ShapeRef.new(shape: ListObjectParentPathsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListObjectParentPathsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_object_parents, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListObjectParents"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/object/parent"
    o.input = Shapes::ShapeRef.new(shape: ListObjectParentsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListObjectParentsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o.errors << Shapes::ShapeRef.new(shape: CannotListParentOfRootException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_object_policies, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListObjectPolicies"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/object/policy"
    o.input = Shapes::ShapeRef.new(shape: ListObjectPoliciesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListObjectPoliciesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_outgoing_typed_links, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListOutgoingTypedLinks"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/typedlink/outgoing"
    o.input = Shapes::ShapeRef.new(shape: ListOutgoingTypedLinksRequest)
    o.output = Shapes::ShapeRef.new(shape: ListOutgoingTypedLinksResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o.errors << Shapes::ShapeRef.new(shape: FacetValidationException)
  end)

  api.add_operation(:list_policy_attachments, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListPolicyAttachments"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/policy/attachment"
    o.input = Shapes::ShapeRef.new(shape: ListPolicyAttachmentsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListPolicyAttachmentsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: NotPolicyException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_published_schema_arns, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListPublishedSchemaArns"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/schema/published"
    o.input = Shapes::ShapeRef.new(shape: ListPublishedSchemaArnsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListPublishedSchemaArnsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListTagsForResource"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/tags"
    o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidTaggingRequestException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_typed_link_facet_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListTypedLinkFacetAttributes"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/typedlink/facet/attributes"
    o.input = Shapes::ShapeRef.new(shape: ListTypedLinkFacetAttributesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListTypedLinkFacetAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: FacetNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_typed_link_facet_names, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListTypedLinkFacetNames"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/typedlink/facet/list"
    o.input = Shapes::ShapeRef.new(shape: ListTypedLinkFacetNamesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListTypedLinkFacetNamesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:lookup_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "LookupPolicy"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/policy/lookup"
    o.input = Shapes::ShapeRef.new(shape: LookupPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: LookupPolicyResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:publish_schema, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PublishSchema"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/schema/publish"
    o.input = Shapes::ShapeRef.new(shape: PublishSchemaRequest)
    o.output = Shapes::ShapeRef.new(shape: PublishSchemaResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: SchemaAlreadyPublishedException)
  end)

  api.add_operation(:put_schema_from_json, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutSchemaFromJson"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/schema/json"
    o.input = Shapes::ShapeRef.new(shape: PutSchemaFromJsonRequest)
    o.output = Shapes::ShapeRef.new(shape: PutSchemaFromJsonResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidSchemaDocException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRuleException)
  end)

  api.add_operation(:remove_facet_from_object, Seahorse::Model::Operation.new.tap do |o|
    o.name = "RemoveFacetFromObject"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/object/facets/delete"
    o.input = Shapes::ShapeRef.new(shape: RemoveFacetFromObjectRequest)
    o.output = Shapes::ShapeRef.new(shape: RemoveFacetFromObjectResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: FacetValidationException)
  end)

  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "TagResource"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/tags/add"
    o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: TagResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidTaggingRequestException)
  end)

  api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UntagResource"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/tags/remove"
    o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: UntagResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidTaggingRequestException)
  end)

  api.add_operation(:update_facet, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateFacet"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/facet"
    o.input = Shapes::ShapeRef.new(shape: UpdateFacetRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateFacetResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidFacetUpdateException)
    o.errors << Shapes::ShapeRef.new(shape: FacetValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: FacetNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRuleException)
  end)

  api.add_operation(:update_link_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateLinkAttributes"
    o.http_method = "POST"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/typedlink/attributes/update"
    o.input = Shapes::ShapeRef.new(shape: UpdateLinkAttributesRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateLinkAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: FacetValidationException)
  end)

  api.add_operation(:update_object_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateObjectAttributes"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/object/update"
    o.input = Shapes::ShapeRef.new(shape: UpdateObjectAttributesRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateObjectAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: DirectoryNotEnabledException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: LinkNameAlreadyInUseException)
    o.errors << Shapes::ShapeRef.new(shape: FacetValidationException)
  end)

  api.add_operation(:update_schema, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateSchema"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/schema/update"
    o.input = Shapes::ShapeRef.new(shape: UpdateSchemaRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateSchemaResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:update_typed_link_facet, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateTypedLinkFacet"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/typedlink/facet"
    o.input = Shapes::ShapeRef.new(shape: UpdateTypedLinkFacetRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateTypedLinkFacetResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: FacetValidationException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidFacetUpdateException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: FacetNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRuleException)
  end)

  api.add_operation(:upgrade_applied_schema, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpgradeAppliedSchema"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/schema/upgradeapplied"
    o.input = Shapes::ShapeRef.new(shape: UpgradeAppliedSchemaRequest)
    o.output = Shapes::ShapeRef.new(shape: UpgradeAppliedSchemaResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: IncompatibleSchemaException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidAttachmentException)
    o.errors << Shapes::ShapeRef.new(shape: SchemaAlreadyExistsException)
  end)

  api.add_operation(:upgrade_published_schema, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpgradePublishedSchema"
    o.http_method = "PUT"
    o.http_request_uri = "/amazonclouddirectory/2017-01-11/schema/upgradepublished"
    o.input = Shapes::ShapeRef.new(shape: UpgradePublishedSchemaRequest)
    o.output = Shapes::ShapeRef.new(shape: UpgradePublishedSchemaResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: RetryableConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: IncompatibleSchemaException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidAttachmentException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)
end