@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon CloudDirectory
@version 2017-01-11
@auth AWS SigV4
@endpoints 66
@hint download_for_search
@toc amazonclouddirectory(66)

@endpoint PUT /amazonclouddirectory/2017-01-11/object/facets
@required {x-amz-data-partition: str, SchemaFacet: SchemaFacet, ObjectReference: ObjectReference}
@optional {ObjectAttributeList: [AttributeKeyAndValue]}

@endpoint PUT /amazonclouddirectory/2017-01-11/schema/apply
@required {x-amz-data-partition: str, PublishedSchemaArn: str}
@returns(200) {AppliedSchemaArn: str?, DirectoryArn: str?}

@endpoint PUT /amazonclouddirectory/2017-01-11/object/attach
@required {x-amz-data-partition: str, ParentReference: ObjectReference, ChildReference: ObjectReference, LinkName: str}
@returns(200) {AttachedObjectIdentifier: str?}

@endpoint PUT /amazonclouddirectory/2017-01-11/policy/attach
@required {x-amz-data-partition: str, PolicyReference: ObjectReference, ObjectReference: ObjectReference}

@endpoint PUT /amazonclouddirectory/2017-01-11/index/attach
@required {x-amz-data-partition: str, IndexReference: ObjectReference, TargetReference: ObjectReference}
@returns(200) {AttachedObjectIdentifier: str?}

@endpoint PUT /amazonclouddirectory/2017-01-11/typedlink/attach
@required {x-amz-data-partition: str, SourceObjectReference: ObjectReference, TargetObjectReference: ObjectReference, TypedLinkFacet: TypedLinkSchemaAndFacetName, Attributes: [AttributeNameAndValue]}
@returns(200) {TypedLinkSpecifier: TypedLinkSpecifier?{TypedLinkFacet: TypedLinkSchemaAndFacetName{SchemaArn: str, TypedLinkName: str}, SourceObjectReference: ObjectReference{Selector: str?}, TargetObjectReference: ObjectReference{Selector: str?}, IdentityAttributeValues: [AttributeNameAndValue]}}

@endpoint POST /amazonclouddirectory/2017-01-11/batchread
@required {x-amz-data-partition: str, Operations: [BatchReadOperation]}
@optional {x-amz-consistency-level: str}
@returns(200) {Responses: [BatchReadOperationResponse]?}

@endpoint PUT /amazonclouddirectory/2017-01-11/batchwrite
@required {x-amz-data-partition: str, Operations: [BatchWriteOperation]}
@returns(200) {Responses: [BatchWriteOperationResponse]?}

@endpoint PUT /amazonclouddirectory/2017-01-11/directory/create
@required {x-amz-data-partition: str, Name: str}
@returns(200) {DirectoryArn: str, Name: str, ObjectIdentifier: str, AppliedSchemaArn: str}

@endpoint PUT /amazonclouddirectory/2017-01-11/facet/create
@required {x-amz-data-partition: str, Name: str}
@optional {Attributes: [FacetAttribute], ObjectType: str, FacetStyle: str}

@endpoint PUT /amazonclouddirectory/2017-01-11/index
@required {x-amz-data-partition: str, OrderedIndexedAttributeList: [AttributeKey], IsUnique: bool}
@optional {ParentReference: ObjectReference, LinkName: str}
@returns(200) {ObjectIdentifier: str?}

@endpoint PUT /amazonclouddirectory/2017-01-11/object
@required {x-amz-data-partition: str, SchemaFacets: [SchemaFacet]}
@optional {ObjectAttributeList: [AttributeKeyAndValue], ParentReference: ObjectReference, LinkName: str}
@returns(200) {ObjectIdentifier: str?}

@endpoint PUT /amazonclouddirectory/2017-01-11/schema/create
@required {Name: str}
@returns(200) {SchemaArn: str?}

@endpoint PUT /amazonclouddirectory/2017-01-11/typedlink/facet/create
@required {x-amz-data-partition: str, Facet: TypedLinkFacet}

@endpoint PUT /amazonclouddirectory/2017-01-11/directory
@required {x-amz-data-partition: str}
@returns(200) {DirectoryArn: str}

@endpoint PUT /amazonclouddirectory/2017-01-11/facet/delete
@required {x-amz-data-partition: str, Name: str}

@endpoint PUT /amazonclouddirectory/2017-01-11/object/delete
@required {x-amz-data-partition: str, ObjectReference: ObjectReference}

@endpoint PUT /amazonclouddirectory/2017-01-11/schema
@required {x-amz-data-partition: str}
@returns(200) {SchemaArn: str?}

@endpoint PUT /amazonclouddirectory/2017-01-11/typedlink/facet/delete
@required {x-amz-data-partition: str, Name: str}

@endpoint PUT /amazonclouddirectory/2017-01-11/index/detach
@required {x-amz-data-partition: str, IndexReference: ObjectReference, TargetReference: ObjectReference}
@returns(200) {DetachedObjectIdentifier: str?}

@endpoint PUT /amazonclouddirectory/2017-01-11/object/detach
@required {x-amz-data-partition: str, ParentReference: ObjectReference, LinkName: str}
@returns(200) {DetachedObjectIdentifier: str?}

@endpoint PUT /amazonclouddirectory/2017-01-11/policy/detach
@required {x-amz-data-partition: str, PolicyReference: ObjectReference, ObjectReference: ObjectReference}

@endpoint PUT /amazonclouddirectory/2017-01-11/typedlink/detach
@required {x-amz-data-partition: str, TypedLinkSpecifier: TypedLinkSpecifier}

@endpoint PUT /amazonclouddirectory/2017-01-11/directory/disable
@required {x-amz-data-partition: str}
@returns(200) {DirectoryArn: str}

@endpoint PUT /amazonclouddirectory/2017-01-11/directory/enable
@required {x-amz-data-partition: str}
@returns(200) {DirectoryArn: str}

@endpoint POST /amazonclouddirectory/2017-01-11/schema/getappliedschema
@required {SchemaArn: str}
@returns(200) {AppliedSchemaArn: str?}

@endpoint POST /amazonclouddirectory/2017-01-11/directory/get
@required {x-amz-data-partition: str}
@returns(200) {Directory: Directory{Name: str?, DirectoryArn: str?, State: str?, CreationDateTime: str(timestamp)?}}

@endpoint POST /amazonclouddirectory/2017-01-11/facet
@required {x-amz-data-partition: str, Name: str}
@returns(200) {Facet: Facet?{Name: str?, ObjectType: str?, FacetStyle: str?}}

@endpoint POST /amazonclouddirectory/2017-01-11/typedlink/attributes/get
@required {x-amz-data-partition: str, TypedLinkSpecifier: TypedLinkSpecifier, AttributeNames: [str]}
@optional {ConsistencyLevel: str}
@returns(200) {Attributes: [AttributeKeyAndValue]?}

@endpoint POST /amazonclouddirectory/2017-01-11/object/attributes/get
@required {x-amz-data-partition: str, ObjectReference: ObjectReference, SchemaFacet: SchemaFacet, AttributeNames: [str]}
@optional {x-amz-consistency-level: str}
@returns(200) {Attributes: [AttributeKeyAndValue]?}

@endpoint POST /amazonclouddirectory/2017-01-11/object/information
@required {x-amz-data-partition: str, ObjectReference: ObjectReference}
@optional {x-amz-consistency-level: str}
@returns(200) {SchemaFacets: [SchemaFacet]?, ObjectIdentifier: str?}

@endpoint POST /amazonclouddirectory/2017-01-11/schema/json
@required {x-amz-data-partition: str}
@returns(200) {Name: str?, Document: str?}

@endpoint POST /amazonclouddirectory/2017-01-11/typedlink/facet/get
@required {x-amz-data-partition: str, Name: str}
@returns(200) {IdentityAttributeOrder: [str]?}

@endpoint POST /amazonclouddirectory/2017-01-11/schema/applied
@required {DirectoryArn: str}
@optional {SchemaArn: str, NextToken: str, MaxResults: int}
@returns(200) {SchemaArns: [str]?, NextToken: str?}

@endpoint POST /amazonclouddirectory/2017-01-11/object/indices
@required {x-amz-data-partition: str, TargetReference: ObjectReference}
@optional {x-amz-consistency-level: str, NextToken: str, MaxResults: int}
@returns(200) {IndexAttachments: [IndexAttachment]?, NextToken: str?}

@endpoint POST /amazonclouddirectory/2017-01-11/schema/development
@optional {NextToken: str, MaxResults: int}
@returns(200) {SchemaArns: [str]?, NextToken: str?}

@endpoint POST /amazonclouddirectory/2017-01-11/directory/list
@optional {NextToken: str, MaxResults: int, state: str}
@returns(200) {Directories: [Directory], NextToken: str?}

@endpoint POST /amazonclouddirectory/2017-01-11/facet/attributes
@required {x-amz-data-partition: str, Name: str}
@optional {NextToken: str, MaxResults: int}
@returns(200) {Attributes: [FacetAttribute]?, NextToken: str?}

@endpoint POST /amazonclouddirectory/2017-01-11/facet/list
@required {x-amz-data-partition: str}
@optional {NextToken: str, MaxResults: int}
@returns(200) {FacetNames: [str]?, NextToken: str?}

@endpoint POST /amazonclouddirectory/2017-01-11/typedlink/incoming
@required {x-amz-data-partition: str, ObjectReference: ObjectReference}
@optional {FilterAttributeRanges: [TypedLinkAttributeRange], FilterTypedLink: TypedLinkSchemaAndFacetName, NextToken: str, MaxResults: int, ConsistencyLevel: str}
@returns(200) {LinkSpecifiers: [TypedLinkSpecifier]?, NextToken: str?}

@endpoint POST /amazonclouddirectory/2017-01-11/index/targets
@required {x-amz-data-partition: str, IndexReference: ObjectReference}
@optional {x-amz-consistency-level: str, RangesOnIndexedValues: [ObjectAttributeRange], MaxResults: int, NextToken: str}
@returns(200) {IndexAttachments: [IndexAttachment]?, NextToken: str?}

@endpoint POST /amazonclouddirectory/2017-01-11/schema/managed
@optional {SchemaArn: str, NextToken: str, MaxResults: int}
@returns(200) {SchemaArns: [str]?, NextToken: str?}

@endpoint POST /amazonclouddirectory/2017-01-11/object/attributes
@required {x-amz-data-partition: str, ObjectReference: ObjectReference}
@optional {x-amz-consistency-level: str, NextToken: str, MaxResults: int, FacetFilter: SchemaFacet}
@returns(200) {Attributes: [AttributeKeyAndValue]?, NextToken: str?}

@endpoint POST /amazonclouddirectory/2017-01-11/object/children
@required {x-amz-data-partition: str, ObjectReference: ObjectReference}
@optional {x-amz-consistency-level: str, NextToken: str, MaxResults: int}
@returns(200) {Children: map<str,str>?, NextToken: str?}

@endpoint POST /amazonclouddirectory/2017-01-11/object/parentpaths
@required {x-amz-data-partition: str, ObjectReference: ObjectReference}
@optional {NextToken: str, MaxResults: int}
@returns(200) {PathToObjectIdentifiersList: [PathToObjectIdentifiers]?, NextToken: str?}

@endpoint POST /amazonclouddirectory/2017-01-11/object/parent
@required {x-amz-data-partition: str, ObjectReference: ObjectReference}
@optional {x-amz-consistency-level: str, NextToken: str, MaxResults: int, IncludeAllLinksToEachParent: bool}
@returns(200) {Parents: map<str,str>?, NextToken: str?, ParentLinks: [ObjectIdentifierAndLinkNameTuple]?}

@endpoint POST /amazonclouddirectory/2017-01-11/object/policy
@required {x-amz-data-partition: str, ObjectReference: ObjectReference}
@optional {x-amz-consistency-level: str, NextToken: str, MaxResults: int}
@returns(200) {AttachedPolicyIds: [str]?, NextToken: str?}

@endpoint POST /amazonclouddirectory/2017-01-11/typedlink/outgoing
@required {x-amz-data-partition: str, ObjectReference: ObjectReference}
@optional {FilterAttributeRanges: [TypedLinkAttributeRange], FilterTypedLink: TypedLinkSchemaAndFacetName, NextToken: str, MaxResults: int, ConsistencyLevel: str}
@returns(200) {TypedLinkSpecifiers: [TypedLinkSpecifier]?, NextToken: str?}

@endpoint POST /amazonclouddirectory/2017-01-11/policy/attachment
@required {x-amz-data-partition: str, PolicyReference: ObjectReference}
@optional {x-amz-consistency-level: str, NextToken: str, MaxResults: int}
@returns(200) {ObjectIdentifiers: [str]?, NextToken: str?}

@endpoint POST /amazonclouddirectory/2017-01-11/schema/published
@optional {SchemaArn: str, NextToken: str, MaxResults: int}
@returns(200) {SchemaArns: [str]?, NextToken: str?}

@endpoint POST /amazonclouddirectory/2017-01-11/tags
@required {ResourceArn: str}
@optional {NextToken: str, MaxResults: int}
@returns(200) {Tags: [Tag]?, NextToken: str?}

@endpoint POST /amazonclouddirectory/2017-01-11/typedlink/facet/attributes
@required {x-amz-data-partition: str, Name: str}
@optional {NextToken: str, MaxResults: int}
@returns(200) {Attributes: [TypedLinkAttributeDefinition]?, NextToken: str?}

@endpoint POST /amazonclouddirectory/2017-01-11/typedlink/facet/list
@required {x-amz-data-partition: str}
@optional {NextToken: str, MaxResults: int}
@returns(200) {FacetNames: [str]?, NextToken: str?}

@endpoint POST /amazonclouddirectory/2017-01-11/policy/lookup
@required {x-amz-data-partition: str, ObjectReference: ObjectReference}
@optional {NextToken: str, MaxResults: int}
@returns(200) {PolicyToPathList: [PolicyToPath]?, NextToken: str?}

@endpoint PUT /amazonclouddirectory/2017-01-11/schema/publish
@required {x-amz-data-partition: str, Version: str}
@optional {MinorVersion: str, Name: str}
@returns(200) {PublishedSchemaArn: str?}

@endpoint PUT /amazonclouddirectory/2017-01-11/schema/json
@required {x-amz-data-partition: str, Document: str}
@returns(200) {Arn: str?}

@endpoint PUT /amazonclouddirectory/2017-01-11/object/facets/delete
@required {x-amz-data-partition: str, SchemaFacet: SchemaFacet, ObjectReference: ObjectReference}

@endpoint PUT /amazonclouddirectory/2017-01-11/tags/add
@required {ResourceArn: str, Tags: [Tag]}

@endpoint PUT /amazonclouddirectory/2017-01-11/tags/remove
@required {ResourceArn: str, TagKeys: [str]}

@endpoint PUT /amazonclouddirectory/2017-01-11/facet
@required {x-amz-data-partition: str, Name: str}
@optional {AttributeUpdates: [FacetAttributeUpdate], ObjectType: str}

@endpoint POST /amazonclouddirectory/2017-01-11/typedlink/attributes/update
@required {x-amz-data-partition: str, TypedLinkSpecifier: TypedLinkSpecifier, AttributeUpdates: [LinkAttributeUpdate]}

@endpoint PUT /amazonclouddirectory/2017-01-11/object/update
@required {x-amz-data-partition: str, ObjectReference: ObjectReference, AttributeUpdates: [ObjectAttributeUpdate]}
@returns(200) {ObjectIdentifier: str?}

@endpoint PUT /amazonclouddirectory/2017-01-11/schema/update
@required {x-amz-data-partition: str, Name: str}
@returns(200) {SchemaArn: str?}

@endpoint PUT /amazonclouddirectory/2017-01-11/typedlink/facet
@required {x-amz-data-partition: str, Name: str, AttributeUpdates: [TypedLinkFacetAttributeUpdate], IdentityAttributeOrder: [str]}

@endpoint PUT /amazonclouddirectory/2017-01-11/schema/upgradeapplied
@required {PublishedSchemaArn: str, DirectoryArn: str}
@optional {DryRun: bool}
@returns(200) {UpgradedSchemaArn: str?, DirectoryArn: str?}

@endpoint PUT /amazonclouddirectory/2017-01-11/schema/upgradepublished
@required {DevelopmentSchemaArn: str, PublishedSchemaArn: str, MinorVersion: str}
@optional {DryRun: bool}
@returns(200) {UpgradedSchemaArn: str?}

@end
