aws-elixir v0.4.0 AWS.CloudDirectory

Amazon Cloud Directory

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

Summary

Functions

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

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

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

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

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

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

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

Lists schemas applied to a directory

Lists indices attached to an object

Retrieves the ARNs 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

Lists objects attached to the specified index

Lists all attributes associated with an object

Returns a paginated list of child objects associated with a given object

Lists parent objects associated with a given object in pagination fashion

Returns policies attached to an object in pagination fashion

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

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

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

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

API for adding tags to a resource

API for removing tags from a resource

Updates a given object’s attributes

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

Functions

add_facet_to_object(client, input, options \\ [])

Adds a new Facet to an object.

apply_schema(client, input, options \\ [])

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

attach_object(client, input, options \\ [])

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

  1. Using the path
  2. Using ObjectIdentifier
attach_policy(client, input, options \\ [])

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

attach_to_index(client, input, options \\ [])

Attaches the specified object to the specified index.

batch_read(client, input, options \\ [])

Performs all the read operations in a batch.

batch_write(client, input, options \\ [])

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

create_directory(client, input, options \\ [])

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

create_facet(client, input, options \\ [])

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

create_index(client, input, options \\ [])

Creates an index object. See Indexing for more information.

create_object(client, input, options \\ [])

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.

create_schema(client, input, options \\ [])

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.
delete_directory(client, input, options \\ [])

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

delete_facet(client, input, options \\ [])

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

delete_object(client, input, options \\ [])

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

delete_schema(client, input, options \\ [])

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

detach_from_index(client, input, options \\ [])

Detaches the specified object from the specified index.

detach_object(client, input, options \\ [])

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

detach_policy(client, input, options \\ [])

Detaches a policy from an object.

disable_directory(client, input, options \\ [])

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

enable_directory(client, input, options \\ [])

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

get_directory(client, input, options \\ [])

Retrieves metadata about a directory.

get_facet(client, input, options \\ [])

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.

get_object_information(client, input, options \\ [])

Retrieves metadata about an object.

get_schema_as_json(client, input, options \\ [])

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

list_applied_schema_arns(client, input, options \\ [])

Lists schemas applied to a directory.

list_attached_indices(client, input, options \\ [])

Lists indices attached to an object.

list_development_schema_arns(client, input, options \\ [])

Retrieves the ARNs of schemas in the development state.

list_directories(client, input, options \\ [])

Lists directories created within an account.

list_facet_attributes(client, input, options \\ [])

Retrieves attributes attached to the facet.

list_facet_names(client, input, options \\ [])

Retrieves the names of facets that exist in a schema.

list_index(client, input, options \\ [])

Lists objects attached to the specified index.

list_object_attributes(client, input, options \\ [])

Lists all attributes associated with an object.

list_object_children(client, input, options \\ [])

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

list_object_parents(client, input, options \\ [])

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

list_object_policies(client, input, options \\ [])

Returns policies attached to an object in pagination fashion.

list_policy_attachments(client, input, options \\ [])

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

list_published_schema_arns(client, input, options \\ [])

Retrieves published schema ARNs.

list_tags_for_resource(client, input, options \\ [])

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.

lookup_policy(client, input, options \\ [])

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.

publish_schema(client, input, options \\ [])

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.

put_schema_from_json(client, input, options \\ [])

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

remove_facet_from_object(client, input, options \\ [])

Removes the specified facet from the specified object.

tag_resource(client, input, options \\ [])

API for adding tags to a resource.

untag_resource(client, input, options \\ [])

API for removing tags from a resource.

update_facet(client, input, options \\ [])

Does the following:

  1. Adds new Attributes, Rules, or ObjectTypes.
  2. Updates existing Attributes, Rules, or ObjectTypes.
  3. Deletes existing Attributes, Rules, or ObjectTypes.
update_object_attributes(client, input, options \\ [])

Updates a given object’s attributes.

update_schema(client, input, options \\ [])

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