CloudDirectory class

Amazon Cloud Directory is a component of the AWS Directory Service that simplifies the development and management of cloud-scale web, mobile, and IoT applications. This guide describes the Cloud Directory operations that you can call programmatically and includes detailed information on data types and errors. For information about Cloud Directory features, see AWS Directory Service and the Amazon Cloud Directory Developer Guide.

Constructors

CloudDirectory({required String region, AwsClientCredentials? credentials, AwsClientCredentialsProvider? credentialsProvider, Client? client, String? endpointUrl})

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

addFacetToObject({required String directoryArn, required ObjectReference objectReference, required SchemaFacet schemaFacet, List<AttributeKeyAndValue>? objectAttributeList}) Future<void>
Adds a new Facet to an object. An object can have more than one facet applied on it.
applySchema({required String directoryArn, required String publishedSchemaArn}) Future<ApplySchemaResponse>
Copies the input published schema, at the specified version, into the Directory with the same name and version as that of the published schema.
attachObject({required ObjectReference childReference, required String directoryArn, required String linkName, required ObjectReference parentReference}) Future<AttachObjectResponse>
Attaches an existing object to another object. An object can be accessed in two ways:
attachPolicy({required String directoryArn, required ObjectReference objectReference, required ObjectReference policyReference}) Future<void>
Attaches a policy object to a regular object. An object can have a limited number of attached policies.
attachToIndex({required String directoryArn, required ObjectReference indexReference, required ObjectReference targetReference}) Future<AttachToIndexResponse>
Attaches the specified object to the specified index.
Attaches a typed link to a specified source and target object. For more information, see Typed Links.
batchRead({required String directoryArn, required List<BatchReadOperation> operations, ConsistencyLevel? consistencyLevel}) Future<BatchReadResponse>
Performs all the read operations in a batch.
batchWrite({required String directoryArn, required List<BatchWriteOperation> operations}) Future<BatchWriteResponse>
Performs all the write operations in a batch. Either all the operations succeed or none.
close() → void
Closes the internal HTTP client if none was provided at creation. If a client was passed as a constructor argument, this becomes a noop.
createDirectory({required String name, required String schemaArn}) Future<CreateDirectoryResponse>
Creates a Directory by copying the published schema into the directory. A directory cannot be created without a schema.
createFacet({required String name, required String schemaArn, List<FacetAttribute>? attributes, FacetStyle? facetStyle, ObjectType? objectType}) Future<void>
Creates a new Facet in a schema. Facet creation is allowed only in development or applied schemas.
createIndex({required String directoryArn, required bool isUnique, required List<AttributeKey> orderedIndexedAttributeList, String? linkName, ObjectReference? parentReference}) Future<CreateIndexResponse>
Creates an index object. See Indexing and search for more information.
createObject({required String directoryArn, required List<SchemaFacet> schemaFacets, String? linkName, List<AttributeKeyAndValue>? objectAttributeList, ObjectReference? parentReference}) Future<CreateObjectResponse>
Creates an object in a Directory. Additionally attaches the object to a parent, if a parent reference and LinkName is specified. An object is simply a collection of Facet attributes. You can also use this API call to create a policy object, if the facet from which you create the object is a policy facet.
createSchema({required String name}) Future<CreateSchemaResponse>
Creates a new schema in a development state. A schema can exist in three phases:
createTypedLinkFacet({required TypedLinkFacet facet, required String schemaArn}) Future<void>
Creates a TypedLinkFacet. For more information, see Typed Links.
deleteDirectory({required String directoryArn}) Future<DeleteDirectoryResponse>
Deletes a directory. Only disabled directories can be deleted. A deleted directory cannot be undone. Exercise extreme caution when deleting directories.
deleteFacet({required String name, required String schemaArn}) Future<void>
Deletes a given Facet. All attributes and Rules that are associated with the facet will be deleted. Only development schema facets are allowed deletion.
deleteObject({required String directoryArn, required ObjectReference objectReference}) Future<void>
Deletes an object and its associated attributes. Only objects with no children and no parents can be deleted. The maximum number of attributes that can be deleted during an object deletion is 30. For more information, see Amazon Cloud Directory Limits.
deleteSchema({required String schemaArn}) Future<DeleteSchemaResponse>
Deletes a given schema. Schemas in a development and published state can only be deleted.
deleteTypedLinkFacet({required String name, required String schemaArn}) Future<void>
Deletes a TypedLinkFacet. For more information, see Typed Links.
detachFromIndex({required String directoryArn, required ObjectReference indexReference, required ObjectReference targetReference}) Future<DetachFromIndexResponse>
Detaches the specified object from the specified index.
detachObject({required String directoryArn, required String linkName, required ObjectReference parentReference}) Future<DetachObjectResponse>
Detaches a given object from the parent object. The object that is to be detached from the parent is specified by the link name.
detachPolicy({required String directoryArn, required ObjectReference objectReference, required ObjectReference policyReference}) Future<void>
Detaches a policy from an object.
Detaches a typed link from a specified source and target object. For more information, see Typed Links.
disableDirectory({required String directoryArn}) Future<DisableDirectoryResponse>
Disables the specified directory. Disabled directories cannot be read or written to. Only enabled directories can be disabled. Disabled directories may be reenabled.
enableDirectory({required String directoryArn}) Future<EnableDirectoryResponse>
Enables the specified directory. Only disabled directories can be enabled. Once enabled, the directory can then be read and written to.
getAppliedSchemaVersion({required String schemaArn}) Future<GetAppliedSchemaVersionResponse>
Returns current applied schema version ARN, including the minor version in use.
getDirectory({required String directoryArn}) Future<GetDirectoryResponse>
Retrieves metadata about a directory.
getFacet({required String name, required String schemaArn}) Future<GetFacetResponse>
Gets details of the Facet, such as facet name, attributes, Rules, or ObjectType. You can call this on all kinds of schema facets -- published, development, or applied.
getLinkAttributes({required List<String> attributeNames, required String directoryArn, required TypedLinkSpecifier typedLinkSpecifier, ConsistencyLevel? consistencyLevel}) Future<GetLinkAttributesResponse>
Retrieves attributes that are associated with a typed link.
getObjectAttributes({required List<String> attributeNames, required String directoryArn, required ObjectReference objectReference, required SchemaFacet schemaFacet, ConsistencyLevel? consistencyLevel}) Future<GetObjectAttributesResponse>
Retrieves attributes within a facet that are associated with an object.
getObjectInformation({required String directoryArn, required ObjectReference objectReference, ConsistencyLevel? consistencyLevel}) Future<GetObjectInformationResponse>
Retrieves metadata about an object.
getSchemaAsJson({required String schemaArn}) Future<GetSchemaAsJsonResponse>
Retrieves a JSON representation of the schema. See JSON Schema Format for more information.
getTypedLinkFacetInformation({required String name, required String schemaArn}) Future<GetTypedLinkFacetInformationResponse>
Returns the identity attribute order for a specific TypedLinkFacet. For more information, see Typed Links.
listAppliedSchemaArns({required String directoryArn, int? maxResults, String? nextToken, String? schemaArn}) Future<ListAppliedSchemaArnsResponse>
Lists schema major versions applied to a directory. If SchemaArn is provided, lists the minor version.
listAttachedIndices({required String directoryArn, required ObjectReference targetReference, ConsistencyLevel? consistencyLevel, int? maxResults, String? nextToken}) Future<ListAttachedIndicesResponse>
Lists indices attached to the specified object.
listDevelopmentSchemaArns({int? maxResults, String? nextToken}) Future<ListDevelopmentSchemaArnsResponse>
Retrieves each Amazon Resource Name (ARN) of schemas in the development state.
listDirectories({int? maxResults, String? nextToken, DirectoryState? state}) Future<ListDirectoriesResponse>
Lists directories created within an account.
listFacetAttributes({required String name, required String schemaArn, int? maxResults, String? nextToken}) Future<ListFacetAttributesResponse>
Retrieves attributes attached to the facet.
listFacetNames({required String schemaArn, int? maxResults, String? nextToken}) Future<ListFacetNamesResponse>
Retrieves the names of facets that exist in a schema.
Returns a paginated list of all the incoming TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed Links.
listIndex({required String directoryArn, required ObjectReference indexReference, ConsistencyLevel? consistencyLevel, int? maxResults, String? nextToken, List<ObjectAttributeRange>? rangesOnIndexedValues}) Future<ListIndexResponse>
Lists objects attached to the specified index.
listManagedSchemaArns({int? maxResults, String? nextToken, String? schemaArn}) Future<ListManagedSchemaArnsResponse>
Lists the major version families of each managed schema. If a major version ARN is provided as SchemaArn, the minor version revisions in that family are listed instead.
listObjectAttributes({required String directoryArn, required ObjectReference objectReference, ConsistencyLevel? consistencyLevel, SchemaFacet? facetFilter, int? maxResults, String? nextToken}) Future<ListObjectAttributesResponse>
Lists all attributes that are associated with an object.
listObjectChildren({required String directoryArn, required ObjectReference objectReference, ConsistencyLevel? consistencyLevel, int? maxResults, String? nextToken}) Future<ListObjectChildrenResponse>
Returns a paginated list of child objects that are associated with a given object.
listObjectParentPaths({required String directoryArn, required ObjectReference objectReference, int? maxResults, String? nextToken}) Future<ListObjectParentPathsResponse>
Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects. For more information about objects, see Directory Structure.
listObjectParents({required String directoryArn, required ObjectReference objectReference, ConsistencyLevel? consistencyLevel, bool? includeAllLinksToEachParent, int? maxResults, String? nextToken}) Future<ListObjectParentsResponse>
Lists parent objects that are associated with a given object in pagination fashion.
listObjectPolicies({required String directoryArn, required ObjectReference objectReference, ConsistencyLevel? consistencyLevel, int? maxResults, String? nextToken}) Future<ListObjectPoliciesResponse>
Returns policies attached to an object in pagination fashion.
Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed Links.
listPolicyAttachments({required String directoryArn, required ObjectReference policyReference, ConsistencyLevel? consistencyLevel, int? maxResults, String? nextToken}) Future<ListPolicyAttachmentsResponse>
Returns all of the ObjectIdentifiers to which a given policy is attached.
listPublishedSchemaArns({int? maxResults, String? nextToken, String? schemaArn}) Future<ListPublishedSchemaArnsResponse>
Lists the major version families of each published schema. If a major version ARN is provided as SchemaArn, the minor version revisions in that family are listed instead.
listTagsForResource({required String resourceArn, int? maxResults, String? nextToken}) Future<ListTagsForResourceResponse>
Returns tags for a resource. Tagging is currently supported only for directories with a limit of 50 tags per directory. All 50 tags are returned for a given directory with this API call.
listTypedLinkFacetAttributes({required String name, required String schemaArn, int? maxResults, String? nextToken}) Future<ListTypedLinkFacetAttributesResponse>
Returns a paginated list of all attribute definitions for a particular TypedLinkFacet. For more information, see Typed Links.
listTypedLinkFacetNames({required String schemaArn, int? maxResults, String? nextToken}) Future<ListTypedLinkFacetNamesResponse>
Returns a paginated list of TypedLink facet names for a particular schema. For more information, see Typed Links.
lookupPolicy({required String directoryArn, required ObjectReference objectReference, int? maxResults, String? nextToken}) Future<LookupPolicyResponse>
Lists all policies from the root of the Directory to the object specified. If there are no policies present, an empty list is returned. If policies are present, and if some objects don't have the policies attached, it returns the ObjectIdentifier for such objects. If policies are present, it returns ObjectIdentifier, policyId, and policyType. Paths that don't lead to the root from the target object are ignored. For more information, see Policies.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
publishSchema({required String developmentSchemaArn, required String version, String? minorVersion, String? name}) Future<PublishSchemaResponse>
Publishes a development schema with a major version and a recommended minor version.
putSchemaFromJson({required String document, required String schemaArn}) Future<PutSchemaFromJsonResponse>
Allows a schema to be updated using JSON upload. Only available for development schemas. See JSON Schema Format for more information.
removeFacetFromObject({required String directoryArn, required ObjectReference objectReference, required SchemaFacet schemaFacet}) Future<void>
Removes the specified facet from the specified object.
tagResource({required String resourceArn, required List<Tag> tags}) Future<void>
An API operation for adding tags to a resource.
toString() String
A string representation of this object.
inherited
untagResource({required String resourceArn, required List<String> tagKeys}) Future<void>
An API operation for removing tags from a resource.
updateFacet({required String name, required String schemaArn, List<FacetAttributeUpdate>? attributeUpdates, ObjectType? objectType}) Future<void>
Does the following:
updateLinkAttributes({required List<LinkAttributeUpdate> attributeUpdates, required String directoryArn, required TypedLinkSpecifier typedLinkSpecifier}) Future<void>
Updates a given typed link’s attributes. Attributes to be updated must not contribute to the typed link’s identity, as defined by its IdentityAttributeOrder.
updateObjectAttributes({required List<ObjectAttributeUpdate> attributeUpdates, required String directoryArn, required ObjectReference objectReference}) Future<UpdateObjectAttributesResponse>
Updates a given object's attributes.
updateSchema({required String name, required String schemaArn}) Future<UpdateSchemaResponse>
Updates the schema name with a new name. Only development schema names can be updated.
updateTypedLinkFacet({required List<TypedLinkFacetAttributeUpdate> attributeUpdates, required List<String> identityAttributeOrder, required String name, required String schemaArn}) Future<void>
Updates a TypedLinkFacet. For more information, see Typed Links.
upgradeAppliedSchema({required String directoryArn, required String publishedSchemaArn, bool? dryRun}) Future<UpgradeAppliedSchemaResponse>
Upgrades a single directory in-place using the PublishedSchemaArn with schema updates found in MinorVersion. Backwards-compatible minor version upgrades are instantaneously available for readers on all objects in the directory. Note: This is a synchronous API call and upgrades only one schema on a given directory per call. To upgrade multiple directories from one schema, you would need to call this API on each directory.
upgradePublishedSchema({required String developmentSchemaArn, required String minorVersion, required String publishedSchemaArn, bool? dryRun}) Future<UpgradePublishedSchemaResponse>
Upgrades a published schema under a new minor version revision using the current contents of DevelopmentSchemaArn.

Operators

operator ==(Object other) bool
The equality operator.
inherited