Trait rusoto_clouddirectory::CloudDirectory [] [src]

pub trait CloudDirectory {
    fn add_facet_to_object(
        &self,
        input: &AddFacetToObjectRequest
    ) -> Result<AddFacetToObjectResponse, AddFacetToObjectError>;
fn apply_schema(
        &self,
        input: &ApplySchemaRequest
    ) -> Result<ApplySchemaResponse, ApplySchemaError>;
fn attach_object(
        &self,
        input: &AttachObjectRequest
    ) -> Result<AttachObjectResponse, AttachObjectError>;
fn attach_policy(
        &self,
        input: &AttachPolicyRequest
    ) -> Result<AttachPolicyResponse, AttachPolicyError>;
fn attach_to_index(
        &self,
        input: &AttachToIndexRequest
    ) -> Result<AttachToIndexResponse, AttachToIndexError>;
fn attach_typed_link(
        &self,
        input: &AttachTypedLinkRequest
    ) -> Result<AttachTypedLinkResponse, AttachTypedLinkError>;
fn batch_read(
        &self,
        input: &BatchReadRequest
    ) -> Result<BatchReadResponse, BatchReadError>;
fn batch_write(
        &self,
        input: &BatchWriteRequest
    ) -> Result<BatchWriteResponse, BatchWriteError>;
fn create_directory(
        &self,
        input: &CreateDirectoryRequest
    ) -> Result<CreateDirectoryResponse, CreateDirectoryError>;
fn create_facet(
        &self,
        input: &CreateFacetRequest
    ) -> Result<CreateFacetResponse, CreateFacetError>;
fn create_index(
        &self,
        input: &CreateIndexRequest
    ) -> Result<CreateIndexResponse, CreateIndexError>;
fn create_object(
        &self,
        input: &CreateObjectRequest
    ) -> Result<CreateObjectResponse, CreateObjectError>;
fn create_schema(
        &self,
        input: &CreateSchemaRequest
    ) -> Result<CreateSchemaResponse, CreateSchemaError>;
fn create_typed_link_facet(
        &self,
        input: &CreateTypedLinkFacetRequest
    ) -> Result<CreateTypedLinkFacetResponse, CreateTypedLinkFacetError>;
fn delete_directory(
        &self,
        input: &DeleteDirectoryRequest
    ) -> Result<DeleteDirectoryResponse, DeleteDirectoryError>;
fn delete_facet(
        &self,
        input: &DeleteFacetRequest
    ) -> Result<DeleteFacetResponse, DeleteFacetError>;
fn delete_object(
        &self,
        input: &DeleteObjectRequest
    ) -> Result<DeleteObjectResponse, DeleteObjectError>;
fn delete_schema(
        &self,
        input: &DeleteSchemaRequest
    ) -> Result<DeleteSchemaResponse, DeleteSchemaError>;
fn delete_typed_link_facet(
        &self,
        input: &DeleteTypedLinkFacetRequest
    ) -> Result<DeleteTypedLinkFacetResponse, DeleteTypedLinkFacetError>;
fn detach_from_index(
        &self,
        input: &DetachFromIndexRequest
    ) -> Result<DetachFromIndexResponse, DetachFromIndexError>;
fn detach_object(
        &self,
        input: &DetachObjectRequest
    ) -> Result<DetachObjectResponse, DetachObjectError>;
fn detach_policy(
        &self,
        input: &DetachPolicyRequest
    ) -> Result<DetachPolicyResponse, DetachPolicyError>;
fn detach_typed_link(
        &self,
        input: &DetachTypedLinkRequest
    ) -> Result<(), DetachTypedLinkError>;
fn disable_directory(
        &self,
        input: &DisableDirectoryRequest
    ) -> Result<DisableDirectoryResponse, DisableDirectoryError>;
fn enable_directory(
        &self,
        input: &EnableDirectoryRequest
    ) -> Result<EnableDirectoryResponse, EnableDirectoryError>;
fn get_directory(
        &self,
        input: &GetDirectoryRequest
    ) -> Result<GetDirectoryResponse, GetDirectoryError>;
fn get_facet(
        &self,
        input: &GetFacetRequest
    ) -> Result<GetFacetResponse, GetFacetError>;
fn get_object_information(
        &self,
        input: &GetObjectInformationRequest
    ) -> Result<GetObjectInformationResponse, GetObjectInformationError>;
fn get_schema_as_json(
        &self,
        input: &GetSchemaAsJsonRequest
    ) -> Result<GetSchemaAsJsonResponse, GetSchemaAsJsonError>;
fn get_typed_link_facet_information(
        &self,
        input: &GetTypedLinkFacetInformationRequest
    ) -> Result<GetTypedLinkFacetInformationResponse, GetTypedLinkFacetInformationError>;
fn list_applied_schema_arns(
        &self,
        input: &ListAppliedSchemaArnsRequest
    ) -> Result<ListAppliedSchemaArnsResponse, ListAppliedSchemaArnsError>;
fn list_attached_indices(
        &self,
        input: &ListAttachedIndicesRequest
    ) -> Result<ListAttachedIndicesResponse, ListAttachedIndicesError>;
fn list_development_schema_arns(
        &self,
        input: &ListDevelopmentSchemaArnsRequest
    ) -> Result<ListDevelopmentSchemaArnsResponse, ListDevelopmentSchemaArnsError>;
fn list_directories(
        &self,
        input: &ListDirectoriesRequest
    ) -> Result<ListDirectoriesResponse, ListDirectoriesError>;
fn list_facet_attributes(
        &self,
        input: &ListFacetAttributesRequest
    ) -> Result<ListFacetAttributesResponse, ListFacetAttributesError>;
fn list_facet_names(
        &self,
        input: &ListFacetNamesRequest
    ) -> Result<ListFacetNamesResponse, ListFacetNamesError>;
fn list_incoming_typed_links(
        &self,
        input: &ListIncomingTypedLinksRequest
    ) -> Result<ListIncomingTypedLinksResponse, ListIncomingTypedLinksError>;
fn list_index(
        &self,
        input: &ListIndexRequest
    ) -> Result<ListIndexResponse, ListIndexError>;
fn list_object_attributes(
        &self,
        input: &ListObjectAttributesRequest
    ) -> Result<ListObjectAttributesResponse, ListObjectAttributesError>;
fn list_object_children(
        &self,
        input: &ListObjectChildrenRequest
    ) -> Result<ListObjectChildrenResponse, ListObjectChildrenError>;
fn list_object_parent_paths(
        &self,
        input: &ListObjectParentPathsRequest
    ) -> Result<ListObjectParentPathsResponse, ListObjectParentPathsError>;
fn list_object_parents(
        &self,
        input: &ListObjectParentsRequest
    ) -> Result<ListObjectParentsResponse, ListObjectParentsError>;
fn list_object_policies(
        &self,
        input: &ListObjectPoliciesRequest
    ) -> Result<ListObjectPoliciesResponse, ListObjectPoliciesError>;
fn list_outgoing_typed_links(
        &self,
        input: &ListOutgoingTypedLinksRequest
    ) -> Result<ListOutgoingTypedLinksResponse, ListOutgoingTypedLinksError>;
fn list_policy_attachments(
        &self,
        input: &ListPolicyAttachmentsRequest
    ) -> Result<ListPolicyAttachmentsResponse, ListPolicyAttachmentsError>;
fn list_published_schema_arns(
        &self,
        input: &ListPublishedSchemaArnsRequest
    ) -> Result<ListPublishedSchemaArnsResponse, ListPublishedSchemaArnsError>;
fn list_tags_for_resource(
        &self,
        input: &ListTagsForResourceRequest
    ) -> Result<ListTagsForResourceResponse, ListTagsForResourceError>;
fn list_typed_link_facet_attributes(
        &self,
        input: &ListTypedLinkFacetAttributesRequest
    ) -> Result<ListTypedLinkFacetAttributesResponse, ListTypedLinkFacetAttributesError>;
fn list_typed_link_facet_names(
        &self,
        input: &ListTypedLinkFacetNamesRequest
    ) -> Result<ListTypedLinkFacetNamesResponse, ListTypedLinkFacetNamesError>;
fn lookup_policy(
        &self,
        input: &LookupPolicyRequest
    ) -> Result<LookupPolicyResponse, LookupPolicyError>;
fn publish_schema(
        &self,
        input: &PublishSchemaRequest
    ) -> Result<PublishSchemaResponse, PublishSchemaError>;
fn put_schema_from_json(
        &self,
        input: &PutSchemaFromJsonRequest
    ) -> Result<PutSchemaFromJsonResponse, PutSchemaFromJsonError>;
fn remove_facet_from_object(
        &self,
        input: &RemoveFacetFromObjectRequest
    ) -> Result<RemoveFacetFromObjectResponse, RemoveFacetFromObjectError>;
fn tag_resource(
        &self,
        input: &TagResourceRequest
    ) -> Result<TagResourceResponse, TagResourceError>;
fn untag_resource(
        &self,
        input: &UntagResourceRequest
    ) -> Result<UntagResourceResponse, UntagResourceError>;
fn update_facet(
        &self,
        input: &UpdateFacetRequest
    ) -> Result<UpdateFacetResponse, UpdateFacetError>;
fn update_object_attributes(
        &self,
        input: &UpdateObjectAttributesRequest
    ) -> Result<UpdateObjectAttributesResponse, UpdateObjectAttributesError>;
fn update_schema(
        &self,
        input: &UpdateSchemaRequest
    ) -> Result<UpdateSchemaResponse, UpdateSchemaError>;
fn update_typed_link_facet(
        &self,
        input: &UpdateTypedLinkFacetRequest
    ) -> Result<UpdateTypedLinkFacetResponse, UpdateTypedLinkFacetError>; }

Trait representing the capabilities of the Amazon CloudDirectory API. Amazon CloudDirectory clients implement this trait.

Required Methods

Adds a new Facet to an object.

Copies the input published schema into the Directory with the same name and version as that of the published schema .

Attaches an existing object to another object. An object can be accessed in two ways:

  1. Using the path

  2. Using ObjectIdentifier

Attaches a policy object to a regular object. An object can have a limited number of attached policies.

Attaches the specified object to the specified index.

Attaches a typed link to a specified source and target object. For more information, see Typed link.

Performs all the read operations in a batch.

Performs all the write operations in a batch. Either all the operations succeed or none. Batch writes supports only object-related operations.

Creates a Directory by copying the published schema into the directory. A directory cannot be created without a schema.

Creates a new Facet in a schema. Facet creation is allowed only in development or applied schemas.

Creates an index object. See Indexing for more information.

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.

Creates a new schema in a development state. A schema can exist in three phases:

  • Development: This is a mutable phase of the schema. All new schemas are in the development phase. Once the schema is finalized, it can be published.

  • Published: Published schemas are immutable and have a version associated with them.

  • Applied: Applied schemas are mutable in a way that allows you to add new schema facets. You can also add new, nonrequired attributes to existing schema facets. You can apply only published schemas to directories.

Creates a TypedLinkFacet. For more information, see Typed link.

Deletes a directory. Only disabled directories can be deleted. A deleted directory cannot be undone. Exercise extreme caution when deleting directories.

Deletes a given Facet. All attributes and Rules that are associated with the facet will be deleted. Only development schema facets are allowed deletion.

Deletes an object and its associated attributes. Only objects with no children and no parents can be deleted.

Deletes a given schema. Schemas in a development and published state can only be deleted.

Deletes a TypedLinkFacet. For more information, see Typed link.

Detaches the specified object from the specified index.

Detaches a given object from the parent object. The object that is to be detached from the parent is specified by the link name.

Detaches a policy from an object.

Detaches a typed link from a specified source and target object. For more information, see Typed link.

Disables the specified directory. Disabled directories cannot be read or written to. Only enabled directories can be disabled. Disabled directories may be reenabled.

Enables the specified directory. Only disabled directories can be enabled. Once enabled, the directory can then be read and written to.

Retrieves metadata about a directory.

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.

Retrieves metadata about an object.

Retrieves a JSON representation of the schema. See JSON Schema Format for more information.

Returns the identity attribute order for a specific TypedLinkFacet. For more information, see Typed link.

Lists schemas applied to a directory.

Lists indices attached to an object.

Retrieves each Amazon Resource Name (ARN) of schemas in the development state.

Lists directories created within an account.

Retrieves attributes attached to the facet.

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 link.

Lists objects attached to the specified index.

Lists all attributes that are associated with an object.

Returns a paginated list of child objects that are associated with a given object.

Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects. For more information about objects, see Directory Structure.

Use this API to evaluate all parents for an object. The call returns all objects from the root of the directory up to the requested object. The API returns the number of paths based on user-defined MaxResults, in case there are multiple paths to the parent. The order of the paths and nodes returned is consistent among multiple API calls unless the objects are deleted or moved. Paths not leading to the directory root are ignored from the target object.

Lists parent objects that are associated with a given object in pagination fashion.

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 link.

Returns all of the ObjectIdentifiers to which a given policy is attached.

Retrieves each published schema Amazon Resource Name (ARN).

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.

Returns a paginated list of all attribute definitions for a particular TypedLinkFacet. For more information, see Typed link.

Returns a paginated list of TypedLink facet names for a particular schema. For more information, see Typed link.

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.

Publishes a development schema with a version. If description and attributes are specified, PublishSchema overrides the development schema description and attributes. If not, the development schema description and attributes are used.

Allows a schema to be updated using JSON upload. Only available for development schemas. See JSON Schema Format for more information.

Removes the specified facet from the specified object.

An API operation for adding tags to a resource.

An API operation for removing tags from a resource.

Does the following:

  1. Adds new Attributes, Rules, or ObjectTypes.

  2. Updates existing Attributes, Rules, or ObjectTypes.

  3. Deletes existing Attributes, Rules, or ObjectTypes.

Updates a given object's attributes.

Updates the schema name with a new name. Only development schema names can be updated.

Updates a TypedLinkFacet. For more information, see Typed link.

Implementors