You are viewing documentation for version 3 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Class: Aws::CloudDirectory::Client

Inherits:
Seahorse::Client::Base show all
Includes:
Aws::ClientStubs
Defined in:
gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from Aws::ClientStubs

#stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(*args) ⇒ Client

Returns a new instance of Client

Parameters:

  • options (Hash)

    a customizable set of options



142
143
144
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 142

def initialize(*args)
  super
end

Instance Method Details

#add_facet_to_object(params = {}) ⇒ Struct

Adds a new Facet to an object.

Examples:

Request syntax with placeholder values


resp = client.add_facet_to_object({
  directory_arn: "Arn", # required
  schema_facet: { # required
    schema_arn: "Arn",
    facet_name: "FacetName",
  },
  object_attribute_list: [
    {
      key: { # required
        schema_arn: "Arn", # required
        facet_name: "FacetName", # required
        name: "AttributeName", # required
      },
      value: { # required
        string_value: "StringAttributeValue",
        binary_value: "data",
        boolean_value: false,
        number_value: "NumberAttributeValue",
        datetime_value: Time.now,
      },
    },
  ],
  object_reference: { # required
    selector: "SelectorObjectReference",
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

  • :schema_facet (required, Types::SchemaFacet)

    Identifiers for the facet that you are adding to the object.

  • :object_attribute_list (Array<Types::AttributeKeyAndValue>)

    Attributes on the facet that you are adding to the object.

  • :object_reference (required, Types::ObjectReference)

    A reference to the object you are adding the specified facet to.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



198
199
200
201
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 198

def add_facet_to_object(params = {}, options = {})
  req = build_request(:add_facet_to_object, params)
  req.send_request(options)
end

#apply_schema(params = {}) ⇒ Types::ApplySchemaResponse

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

Examples:

Request syntax with placeholder values


resp = client.apply_schema({
  published_schema_arn: "Arn", # required
  directory_arn: "Arn", # required
})

Response structure


resp.applied_schema_arn #=> String
resp.directory_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :published_schema_arn (required, String)

    Published schema Amazon Resource Name (ARN) that needs to be copied. For more information, see arns.

  • :directory_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the Directory into which the schema is copied. For more information, see arns.

Returns:

See Also:



235
236
237
238
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 235

def apply_schema(params = {}, options = {})
  req = build_request(:apply_schema, params)
  req.send_request(options)
end

#attach_object(params = {}) ⇒ Types::AttachObjectResponse

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

  1. Using the path

  2. Using ObjectIdentifier

Examples:

Request syntax with placeholder values


resp = client.attach_object({
  directory_arn: "Arn", # required
  parent_reference: { # required
    selector: "SelectorObjectReference",
  },
  child_reference: { # required
    selector: "SelectorObjectReference",
  },
  link_name: "LinkName", # required
})

Response structure


resp.attached_object_identifier #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns.

  • :parent_reference (required, Types::ObjectReference)

    The parent object reference.

  • :child_reference (required, Types::ObjectReference)

    The child object reference to be attached to the object.

  • :link_name (required, String)

    The link name with which the child object is attached to the parent.

Returns:

See Also:



285
286
287
288
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 285

def attach_object(params = {}, options = {})
  req = build_request(:attach_object, params)
  req.send_request(options)
end

#attach_policy(params = {}) ⇒ Struct

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

Examples:

Request syntax with placeholder values


resp = client.attach_policy({
  directory_arn: "Arn",
  policy_reference: { # required
    selector: "SelectorObjectReference",
  },
  object_reference: { # required
    selector: "SelectorObjectReference",
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (String)

    The Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns.

  • :policy_reference (required, Types::ObjectReference)

    The reference that is associated with the policy object.

  • :object_reference (required, Types::ObjectReference)

    The reference that identifies the object to which the policy will be attached.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



322
323
324
325
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 322

def attach_policy(params = {}, options = {})
  req = build_request(:attach_policy, params)
  req.send_request(options)
end

#attach_to_index(params = {}) ⇒ Types::AttachToIndexResponse

Attaches the specified object to the specified index.

Examples:

Request syntax with placeholder values


resp = client.attach_to_index({
  directory_arn: "Arn", # required
  index_reference: { # required
    selector: "SelectorObjectReference",
  },
  target_reference: { # required
    selector: "SelectorObjectReference",
  },
})

Response structure


resp.attached_object_identifier #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The Amazon Resource Name (ARN) of the directory where the object and index exist.

  • :index_reference (required, Types::ObjectReference)

    A reference to the index that you are attaching the object to.

  • :target_reference (required, Types::ObjectReference)

    A reference to the object that you are attaching to the index.

Returns:

See Also:



363
364
365
366
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 363

def attach_to_index(params = {}, options = {})
  req = build_request(:attach_to_index, params)
  req.send_request(options)
end

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

Examples:

Request syntax with placeholder values


resp = client.attach_typed_link({
  directory_arn: "Arn", # required
  source_object_reference: { # required
    selector: "SelectorObjectReference",
  },
  target_object_reference: { # required
    selector: "SelectorObjectReference",
  },
  typed_link_facet: { # required
    schema_arn: "Arn", # required
    typed_link_name: "TypedLinkName", # required
  },
  attributes: [ # required
    {
      attribute_name: "AttributeName", # required
      value: { # required
        string_value: "StringAttributeValue",
        binary_value: "data",
        boolean_value: false,
        number_value: "NumberAttributeValue",
        datetime_value: Time.now,
      },
    },
  ],
})

Response structure


resp.typed_link_specifier.typed_link_facet.schema_arn #=> String
resp.typed_link_specifier.typed_link_facet.typed_link_name #=> String
resp.typed_link_specifier.source_object_reference.selector #=> String
resp.typed_link_specifier.target_object_reference.selector #=> String
resp.typed_link_specifier.identity_attribute_values #=> Array
resp.typed_link_specifier.identity_attribute_values[0].attribute_name #=> String
resp.typed_link_specifier.identity_attribute_values[0].value.string_value #=> String
resp.typed_link_specifier.identity_attribute_values[0].value.binary_value #=> String
resp.typed_link_specifier.identity_attribute_values[0].value.boolean_value #=> Boolean
resp.typed_link_specifier.identity_attribute_values[0].value.number_value #=> String
resp.typed_link_specifier.identity_attribute_values[0].value.datetime_value #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The Amazon Resource Name (ARN) of the directory where you want to attach the typed link.

  • :source_object_reference (required, Types::ObjectReference)

    Identifies the source object that the typed link will attach to.

  • :target_object_reference (required, Types::ObjectReference)

    Identifies the target object that the typed link will attach to.

  • :typed_link_facet (required, Types::TypedLinkSchemaAndFacetName)

    Identifies the typed link facet that is associated with the typed link.

  • :attributes (required, Array<Types::AttributeNameAndValue>)

    A set of attributes that are associated with the typed link.

Returns:

See Also:



442
443
444
445
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 442

def attach_typed_link(params = {}, options = {})
  req = build_request(:attach_typed_link, params)
  req.send_request(options)
end

#batch_read(params = {}) ⇒ Types::BatchReadResponse

Performs all the read operations in a batch.

Examples:

Request syntax with placeholder values


resp = client.batch_read({
  directory_arn: "Arn", # required
  operations: [ # required
    {
      list_object_attributes: {
        object_reference: { # required
          selector: "SelectorObjectReference",
        },
        next_token: "NextToken",
        max_results: 1,
        facet_filter: {
          schema_arn: "Arn",
          facet_name: "FacetName",
        },
      },
      list_object_children: {
        object_reference: { # required
          selector: "SelectorObjectReference",
        },
        next_token: "NextToken",
        max_results: 1,
      },
      list_attached_indices: {
        target_reference: { # required
          selector: "SelectorObjectReference",
        },
        next_token: "NextToken",
        max_results: 1,
      },
      list_object_parent_paths: {
        object_reference: { # required
          selector: "SelectorObjectReference",
        },
        next_token: "NextToken",
        max_results: 1,
      },
      get_object_information: {
        object_reference: { # required
          selector: "SelectorObjectReference",
        },
      },
      list_object_policies: {
        object_reference: { # required
          selector: "SelectorObjectReference",
        },
        next_token: "NextToken",
        max_results: 1,
      },
      list_policy_attachments: {
        policy_reference: { # required
          selector: "SelectorObjectReference",
        },
        next_token: "NextToken",
        max_results: 1,
      },
      lookup_policy: {
        object_reference: { # required
          selector: "SelectorObjectReference",
        },
        next_token: "NextToken",
        max_results: 1,
      },
      list_index: {
        ranges_on_indexed_values: [
          {
            attribute_key: {
              schema_arn: "Arn", # required
              facet_name: "FacetName", # required
              name: "AttributeName", # required
            },
            range: {
              start_mode: "FIRST", # required, accepts FIRST, LAST, LAST_BEFORE_MISSING_VALUES, INCLUSIVE, EXCLUSIVE
              start_value: {
                string_value: "StringAttributeValue",
                binary_value: "data",
                boolean_value: false,
                number_value: "NumberAttributeValue",
                datetime_value: Time.now,
              },
              end_mode: "FIRST", # required, accepts FIRST, LAST, LAST_BEFORE_MISSING_VALUES, INCLUSIVE, EXCLUSIVE
              end_value: {
                string_value: "StringAttributeValue",
                binary_value: "data",
                boolean_value: false,
                number_value: "NumberAttributeValue",
                datetime_value: Time.now,
              },
            },
          },
        ],
        index_reference: { # required
          selector: "SelectorObjectReference",
        },
        max_results: 1,
        next_token: "NextToken",
      },
      list_outgoing_typed_links: {
        object_reference: { # required
          selector: "SelectorObjectReference",
        },
        filter_attribute_ranges: [
          {
            attribute_name: "AttributeName",
            range: { # required
              start_mode: "FIRST", # required, accepts FIRST, LAST, LAST_BEFORE_MISSING_VALUES, INCLUSIVE, EXCLUSIVE
              start_value: {
                string_value: "StringAttributeValue",
                binary_value: "data",
                boolean_value: false,
                number_value: "NumberAttributeValue",
                datetime_value: Time.now,
              },
              end_mode: "FIRST", # required, accepts FIRST, LAST, LAST_BEFORE_MISSING_VALUES, INCLUSIVE, EXCLUSIVE
              end_value: {
                string_value: "StringAttributeValue",
                binary_value: "data",
                boolean_value: false,
                number_value: "NumberAttributeValue",
                datetime_value: Time.now,
              },
            },
          },
        ],
        filter_typed_link: {
          schema_arn: "Arn", # required
          typed_link_name: "TypedLinkName", # required
        },
        next_token: "NextToken",
        max_results: 1,
      },
      list_incoming_typed_links: {
        object_reference: { # required
          selector: "SelectorObjectReference",
        },
        filter_attribute_ranges: [
          {
            attribute_name: "AttributeName",
            range: { # required
              start_mode: "FIRST", # required, accepts FIRST, LAST, LAST_BEFORE_MISSING_VALUES, INCLUSIVE, EXCLUSIVE
              start_value: {
                string_value: "StringAttributeValue",
                binary_value: "data",
                boolean_value: false,
                number_value: "NumberAttributeValue",
                datetime_value: Time.now,
              },
              end_mode: "FIRST", # required, accepts FIRST, LAST, LAST_BEFORE_MISSING_VALUES, INCLUSIVE, EXCLUSIVE
              end_value: {
                string_value: "StringAttributeValue",
                binary_value: "data",
                boolean_value: false,
                number_value: "NumberAttributeValue",
                datetime_value: Time.now,
              },
            },
          },
        ],
        filter_typed_link: {
          schema_arn: "Arn", # required
          typed_link_name: "TypedLinkName", # required
        },
        next_token: "NextToken",
        max_results: 1,
      },
    },
  ],
  consistency_level: "SERIALIZABLE", # accepts SERIALIZABLE, EVENTUAL
})

Response structure


resp.responses #=> Array
resp.responses[0].successful_response.list_object_attributes.attributes #=> Array
resp.responses[0].successful_response.list_object_attributes.attributes[0].key.schema_arn #=> String
resp.responses[0].successful_response.list_object_attributes.attributes[0].key.facet_name #=> String
resp.responses[0].successful_response.list_object_attributes.attributes[0].key.name #=> String
resp.responses[0].successful_response.list_object_attributes.attributes[0].value.string_value #=> String
resp.responses[0].successful_response.list_object_attributes.attributes[0].value.binary_value #=> String
resp.responses[0].successful_response.list_object_attributes.attributes[0].value.boolean_value #=> Boolean
resp.responses[0].successful_response.list_object_attributes.attributes[0].value.number_value #=> String
resp.responses[0].successful_response.list_object_attributes.attributes[0].value.datetime_value #=> Time
resp.responses[0].successful_response.list_object_attributes.next_token #=> String
resp.responses[0].successful_response.list_object_children.children #=> Hash
resp.responses[0].successful_response.list_object_children.children["LinkName"] #=> String
resp.responses[0].successful_response.list_object_children.next_token #=> String
resp.responses[0].successful_response.get_object_information.schema_facets #=> Array
resp.responses[0].successful_response.get_object_information.schema_facets[0].schema_arn #=> String
resp.responses[0].successful_response.get_object_information.schema_facets[0].facet_name #=> String
resp.responses[0].successful_response.get_object_information.object_identifier #=> String
resp.responses[0].successful_response.list_attached_indices.index_attachments #=> Array
resp.responses[0].successful_response.list_attached_indices.index_attachments[0].indexed_attributes #=> Array
resp.responses[0].successful_response.list_attached_indices.index_attachments[0].indexed_attributes[0].key.schema_arn #=> String
resp.responses[0].successful_response.list_attached_indices.index_attachments[0].indexed_attributes[0].key.facet_name #=> String
resp.responses[0].successful_response.list_attached_indices.index_attachments[0].indexed_attributes[0].key.name #=> String
resp.responses[0].successful_response.list_attached_indices.index_attachments[0].indexed_attributes[0].value.string_value #=> String
resp.responses[0].successful_response.list_attached_indices.index_attachments[0].indexed_attributes[0].value.binary_value #=> String
resp.responses[0].successful_response.list_attached_indices.index_attachments[0].indexed_attributes[0].value.boolean_value #=> Boolean
resp.responses[0].successful_response.list_attached_indices.index_attachments[0].indexed_attributes[0].value.number_value #=> String
resp.responses[0].successful_response.list_attached_indices.index_attachments[0].indexed_attributes[0].value.datetime_value #=> Time
resp.responses[0].successful_response.list_attached_indices.index_attachments[0].object_identifier #=> String
resp.responses[0].successful_response.list_attached_indices.next_token #=> String
resp.responses[0].successful_response.list_object_parent_paths.path_to_object_identifiers_list #=> Array
resp.responses[0].successful_response.list_object_parent_paths.path_to_object_identifiers_list[0].path #=> String
resp.responses[0].successful_response.list_object_parent_paths.path_to_object_identifiers_list[0].object_identifiers #=> Array
resp.responses[0].successful_response.list_object_parent_paths.path_to_object_identifiers_list[0].object_identifiers[0] #=> String
resp.responses[0].successful_response.list_object_parent_paths.next_token #=> String
resp.responses[0].successful_response.list_object_policies.attached_policy_ids #=> Array
resp.responses[0].successful_response.list_object_policies.attached_policy_ids[0] #=> String
resp.responses[0].successful_response.list_object_policies.next_token #=> String
resp.responses[0].successful_response.list_policy_attachments.object_identifiers #=> Array
resp.responses[0].successful_response.list_policy_attachments.object_identifiers[0] #=> String
resp.responses[0].successful_response.list_policy_attachments.next_token #=> String
resp.responses[0].successful_response.lookup_policy.policy_to_path_list #=> Array
resp.responses[0].successful_response.lookup_policy.policy_to_path_list[0].path #=> String
resp.responses[0].successful_response.lookup_policy.policy_to_path_list[0].policies #=> Array
resp.responses[0].successful_response.lookup_policy.policy_to_path_list[0].policies[0].policy_id #=> String
resp.responses[0].successful_response.lookup_policy.policy_to_path_list[0].policies[0].object_identifier #=> String
resp.responses[0].successful_response.lookup_policy.policy_to_path_list[0].policies[0].policy_type #=> String
resp.responses[0].successful_response.lookup_policy.next_token #=> String
resp.responses[0].successful_response.list_index.index_attachments #=> Array
resp.responses[0].successful_response.list_index.index_attachments[0].indexed_attributes #=> Array
resp.responses[0].successful_response.list_index.index_attachments[0].indexed_attributes[0].key.schema_arn #=> String
resp.responses[0].successful_response.list_index.index_attachments[0].indexed_attributes[0].key.facet_name #=> String
resp.responses[0].successful_response.list_index.index_attachments[0].indexed_attributes[0].key.name #=> String
resp.responses[0].successful_response.list_index.index_attachments[0].indexed_attributes[0].value.string_value #=> String
resp.responses[0].successful_response.list_index.index_attachments[0].indexed_attributes[0].value.binary_value #=> String
resp.responses[0].successful_response.list_index.index_attachments[0].indexed_attributes[0].value.boolean_value #=> Boolean
resp.responses[0].successful_response.list_index.index_attachments[0].indexed_attributes[0].value.number_value #=> String
resp.responses[0].successful_response.list_index.index_attachments[0].indexed_attributes[0].value.datetime_value #=> Time
resp.responses[0].successful_response.list_index.index_attachments[0].object_identifier #=> String
resp.responses[0].successful_response.list_index.next_token #=> String
resp.responses[0].successful_response.list_outgoing_typed_links.typed_link_specifiers #=> Array
resp.responses[0].successful_response.list_outgoing_typed_links.typed_link_specifiers[0].typed_link_facet.schema_arn #=> String
resp.responses[0].successful_response.list_outgoing_typed_links.typed_link_specifiers[0].typed_link_facet.typed_link_name #=> String
resp.responses[0].successful_response.list_outgoing_typed_links.typed_link_specifiers[0].source_object_reference.selector #=> String
resp.responses[0].successful_response.list_outgoing_typed_links.typed_link_specifiers[0].target_object_reference.selector #=> String
resp.responses[0].successful_response.list_outgoing_typed_links.typed_link_specifiers[0].identity_attribute_values #=> Array
resp.responses[0].successful_response.list_outgoing_typed_links.typed_link_specifiers[0].identity_attribute_values[0].attribute_name #=> String
resp.responses[0].successful_response.list_outgoing_typed_links.typed_link_specifiers[0].identity_attribute_values[0].value.string_value #=> String
resp.responses[0].successful_response.list_outgoing_typed_links.typed_link_specifiers[0].identity_attribute_values[0].value.binary_value #=> String
resp.responses[0].successful_response.list_outgoing_typed_links.typed_link_specifiers[0].identity_attribute_values[0].value.boolean_value #=> Boolean
resp.responses[0].successful_response.list_outgoing_typed_links.typed_link_specifiers[0].identity_attribute_values[0].value.number_value #=> String
resp.responses[0].successful_response.list_outgoing_typed_links.typed_link_specifiers[0].identity_attribute_values[0].value.datetime_value #=> Time
resp.responses[0].successful_response.list_outgoing_typed_links.next_token #=> String
resp.responses[0].successful_response.list_incoming_typed_links.link_specifiers #=> Array
resp.responses[0].successful_response.list_incoming_typed_links.link_specifiers[0].typed_link_facet.schema_arn #=> String
resp.responses[0].successful_response.list_incoming_typed_links.link_specifiers[0].typed_link_facet.typed_link_name #=> String
resp.responses[0].successful_response.list_incoming_typed_links.link_specifiers[0].source_object_reference.selector #=> String
resp.responses[0].successful_response.list_incoming_typed_links.link_specifiers[0].target_object_reference.selector #=> String
resp.responses[0].successful_response.list_incoming_typed_links.link_specifiers[0].identity_attribute_values #=> Array
resp.responses[0].successful_response.list_incoming_typed_links.link_specifiers[0].identity_attribute_values[0].attribute_name #=> String
resp.responses[0].successful_response.list_incoming_typed_links.link_specifiers[0].identity_attribute_values[0].value.string_value #=> String
resp.responses[0].successful_response.list_incoming_typed_links.link_specifiers[0].identity_attribute_values[0].value.binary_value #=> String
resp.responses[0].successful_response.list_incoming_typed_links.link_specifiers[0].identity_attribute_values[0].value.boolean_value #=> Boolean
resp.responses[0].successful_response.list_incoming_typed_links.link_specifiers[0].identity_attribute_values[0].value.number_value #=> String
resp.responses[0].successful_response.list_incoming_typed_links.link_specifiers[0].identity_attribute_values[0].value.datetime_value #=> Time
resp.responses[0].successful_response.list_incoming_typed_links.next_token #=> String
resp.responses[0].exception_response.type #=> String, one of "ValidationException", "InvalidArnException", "ResourceNotFoundException", "InvalidNextTokenException", "AccessDeniedException", "NotNodeException", "FacetValidationException", "CannotListParentOfRootException", "NotIndexException", "NotPolicyException", "DirectoryNotEnabledException", "LimitExceededException", "InternalServiceException"
resp.responses[0].exception_response.message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns.

  • :operations (required, Array<Types::BatchReadOperation>)

    A list of operations that are part of the batch.

  • :consistency_level (String)

    Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

Returns:

See Also:



731
732
733
734
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 731

def batch_read(params = {}, options = {})
  req = build_request(:batch_read, params)
  req.send_request(options)
end

#batch_write(params = {}) ⇒ Types::BatchWriteResponse

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

Examples:

Request syntax with placeholder values


resp = client.batch_write({
  directory_arn: "Arn", # required
  operations: [ # required
    {
      create_object: {
        schema_facet: [ # required
          {
            schema_arn: "Arn",
            facet_name: "FacetName",
          },
        ],
        object_attribute_list: [ # required
          {
            key: { # required
              schema_arn: "Arn", # required
              facet_name: "FacetName", # required
              name: "AttributeName", # required
            },
            value: { # required
              string_value: "StringAttributeValue",
              binary_value: "data",
              boolean_value: false,
              number_value: "NumberAttributeValue",
              datetime_value: Time.now,
            },
          },
        ],
        parent_reference: { # required
          selector: "SelectorObjectReference",
        },
        link_name: "LinkName", # required
        batch_reference_name: "BatchReferenceName", # required
      },
      attach_object: {
        parent_reference: { # required
          selector: "SelectorObjectReference",
        },
        child_reference: { # required
          selector: "SelectorObjectReference",
        },
        link_name: "LinkName", # required
      },
      detach_object: {
        parent_reference: { # required
          selector: "SelectorObjectReference",
        },
        link_name: "LinkName", # required
        batch_reference_name: "BatchReferenceName", # required
      },
      update_object_attributes: {
        object_reference: { # required
          selector: "SelectorObjectReference",
        },
        attribute_updates: [ # required
          {
            object_attribute_key: {
              schema_arn: "Arn", # required
              facet_name: "FacetName", # required
              name: "AttributeName", # required
            },
            object_attribute_action: {
              object_attribute_action_type: "CREATE_OR_UPDATE", # accepts CREATE_OR_UPDATE, DELETE
              object_attribute_update_value: {
                string_value: "StringAttributeValue",
                binary_value: "data",
                boolean_value: false,
                number_value: "NumberAttributeValue",
                datetime_value: Time.now,
              },
            },
          },
        ],
      },
      delete_object: {
        object_reference: { # required
          selector: "SelectorObjectReference",
        },
      },
      add_facet_to_object: {
        schema_facet: { # required
          schema_arn: "Arn",
          facet_name: "FacetName",
        },
        object_attribute_list: [ # required
          {
            key: { # required
              schema_arn: "Arn", # required
              facet_name: "FacetName", # required
              name: "AttributeName", # required
            },
            value: { # required
              string_value: "StringAttributeValue",
              binary_value: "data",
              boolean_value: false,
              number_value: "NumberAttributeValue",
              datetime_value: Time.now,
            },
          },
        ],
        object_reference: { # required
          selector: "SelectorObjectReference",
        },
      },
      remove_facet_from_object: {
        schema_facet: { # required
          schema_arn: "Arn",
          facet_name: "FacetName",
        },
        object_reference: { # required
          selector: "SelectorObjectReference",
        },
      },
      attach_policy: {
        policy_reference: { # required
          selector: "SelectorObjectReference",
        },
        object_reference: { # required
          selector: "SelectorObjectReference",
        },
      },
      detach_policy: {
        policy_reference: { # required
          selector: "SelectorObjectReference",
        },
        object_reference: { # required
          selector: "SelectorObjectReference",
        },
      },
      create_index: {
        ordered_indexed_attribute_list: [ # required
          {
            schema_arn: "Arn", # required
            facet_name: "FacetName", # required
            name: "AttributeName", # required
          },
        ],
        is_unique: false, # required
        parent_reference: {
          selector: "SelectorObjectReference",
        },
        link_name: "LinkName",
        batch_reference_name: "BatchReferenceName",
      },
      attach_to_index: {
        index_reference: { # required
          selector: "SelectorObjectReference",
        },
        target_reference: { # required
          selector: "SelectorObjectReference",
        },
      },
      detach_from_index: {
        index_reference: { # required
          selector: "SelectorObjectReference",
        },
        target_reference: { # required
          selector: "SelectorObjectReference",
        },
      },
      attach_typed_link: {
        source_object_reference: { # required
          selector: "SelectorObjectReference",
        },
        target_object_reference: { # required
          selector: "SelectorObjectReference",
        },
        typed_link_facet: { # required
          schema_arn: "Arn", # required
          typed_link_name: "TypedLinkName", # required
        },
        attributes: [ # required
          {
            attribute_name: "AttributeName", # required
            value: { # required
              string_value: "StringAttributeValue",
              binary_value: "data",
              boolean_value: false,
              number_value: "NumberAttributeValue",
              datetime_value: Time.now,
            },
          },
        ],
      },
      detach_typed_link: {
        typed_link_specifier: { # required
          typed_link_facet: { # required
            schema_arn: "Arn", # required
            typed_link_name: "TypedLinkName", # required
          },
          source_object_reference: { # required
            selector: "SelectorObjectReference",
          },
          target_object_reference: { # required
            selector: "SelectorObjectReference",
          },
          identity_attribute_values: [ # required
            {
              attribute_name: "AttributeName", # required
              value: { # required
                string_value: "StringAttributeValue",
                binary_value: "data",
                boolean_value: false,
                number_value: "NumberAttributeValue",
                datetime_value: Time.now,
              },
            },
          ],
        },
      },
    },
  ],
})

Response structure


resp.responses #=> Array
resp.responses[0].create_object.object_identifier #=> String
resp.responses[0].attach_object.attached_object_identifier #=> String
resp.responses[0].detach_object.detached_object_identifier #=> String
resp.responses[0].update_object_attributes.object_identifier #=> String
resp.responses[0].create_index.object_identifier #=> String
resp.responses[0].attach_to_index.attached_object_identifier #=> String
resp.responses[0].detach_from_index.detached_object_identifier #=> String
resp.responses[0].attach_typed_link.typed_link_specifier.typed_link_facet.schema_arn #=> String
resp.responses[0].attach_typed_link.typed_link_specifier.typed_link_facet.typed_link_name #=> String
resp.responses[0].attach_typed_link.typed_link_specifier.source_object_reference.selector #=> String
resp.responses[0].attach_typed_link.typed_link_specifier.target_object_reference.selector #=> String
resp.responses[0].attach_typed_link.typed_link_specifier.identity_attribute_values #=> Array
resp.responses[0].attach_typed_link.typed_link_specifier.identity_attribute_values[0].attribute_name #=> String
resp.responses[0].attach_typed_link.typed_link_specifier.identity_attribute_values[0].value.string_value #=> String
resp.responses[0].attach_typed_link.typed_link_specifier.identity_attribute_values[0].value.binary_value #=> String
resp.responses[0].attach_typed_link.typed_link_specifier.identity_attribute_values[0].value.boolean_value #=> Boolean
resp.responses[0].attach_typed_link.typed_link_specifier.identity_attribute_values[0].value.number_value #=> String
resp.responses[0].attach_typed_link.typed_link_specifier.identity_attribute_values[0].value.datetime_value #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns.

  • :operations (required, Array<Types::BatchWriteOperation>)

    A list of operations that are part of the batch.

Returns:

See Also:



992
993
994
995
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 992

def batch_write(params = {}, options = {})
  req = build_request(:batch_write, params)
  req.send_request(options)
end

#create_directory(params = {}) ⇒ Types::CreateDirectoryResponse

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

Examples:

Request syntax with placeholder values


resp = client.create_directory({
  name: "DirectoryName", # required
  schema_arn: "Arn", # required
})

Response structure


resp.directory_arn #=> String
resp.name #=> String
resp.object_identifier #=> String
resp.applied_schema_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the Directory. Should be unique per account, per region.

  • :schema_arn (required, String)

    The Amazon Resource Name (ARN) of the published schema that will be copied into the data Directory. For more information, see arns.

Returns:

See Also:



1032
1033
1034
1035
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1032

def create_directory(params = {}, options = {})
  req = build_request(:create_directory, params)
  req.send_request(options)
end

#create_facet(params = {}) ⇒ Struct

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

Examples:

Request syntax with placeholder values


resp = client.create_facet({
  schema_arn: "Arn", # required
  name: "FacetName", # required
  attributes: [
    {
      name: "AttributeName", # required
      attribute_definition: {
        type: "STRING", # required, accepts STRING, BINARY, BOOLEAN, NUMBER, DATETIME
        default_value: {
          string_value: "StringAttributeValue",
          binary_value: "data",
          boolean_value: false,
          number_value: "NumberAttributeValue",
          datetime_value: Time.now,
        },
        is_immutable: false,
        rules: {
          "RuleKey" => {
            type: "BINARY_LENGTH", # accepts BINARY_LENGTH, NUMBER_COMPARISON, STRING_FROM_SET, STRING_LENGTH
            parameters: {
              "RuleParameterKey" => "RuleParameterValue",
            },
          },
        },
      },
      attribute_reference: {
        target_facet_name: "FacetName", # required
        target_attribute_name: "AttributeName", # required
      },
      required_behavior: "REQUIRED_ALWAYS", # accepts REQUIRED_ALWAYS, NOT_REQUIRED
    },
  ],
  object_type: "NODE", # required, accepts NODE, LEAF_NODE, POLICY, INDEX
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :schema_arn (required, String)

    The schema ARN in which the new Facet will be created. For more information, see arns.

  • :name (required, String)

    The name of the Facet, which is unique for a given schema.

  • :attributes (Array<Types::FacetAttribute>)

    The attributes that are associated with the Facet.

  • :object_type (required, String)

    Specifies whether a given object created from this facet is of type node, leaf node, policy or index.

    • Node: Can have multiple children but one parent.

    ^ ^

    • Leaf node: Cannot have children but can have multiple parents.

    ^ ^

    • Policy: Allows you to store a policy document and policy type. For more information, see Policies.

    ^ ^

    • Index: Can be created with the Index API.

    ^

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1121
1122
1123
1124
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1121

def create_facet(params = {}, options = {})
  req = build_request(:create_facet, params)
  req.send_request(options)
end

#create_index(params = {}) ⇒ Types::CreateIndexResponse

Creates an index object. See Indexing for more information.

Examples:

Request syntax with placeholder values


resp = client.create_index({
  directory_arn: "Arn", # required
  ordered_indexed_attribute_list: [ # required
    {
      schema_arn: "Arn", # required
      facet_name: "FacetName", # required
      name: "AttributeName", # required
    },
  ],
  is_unique: false, # required
  parent_reference: {
    selector: "SelectorObjectReference",
  },
  link_name: "LinkName",
})

Response structure


resp.object_identifier #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The ARN of the directory where the index should be created.

  • :ordered_indexed_attribute_list (required, Array<Types::AttributeKey>)

    Specifies the attributes that should be indexed on. Currently only a single attribute is supported.

  • :is_unique (required, Boolean)

    Indicates whether the attribute that is being indexed has unique values or not.

  • :parent_reference (Types::ObjectReference)

    A reference to the parent object that contains the index object.

  • :link_name (String)

    The name of the link between the parent object and the index object.

Returns:

See Also:



1179
1180
1181
1182
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1179

def create_index(params = {}, options = {})
  req = build_request(:create_index, params)
  req.send_request(options)
end

#create_object(params = {}) ⇒ Types::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.

Examples:

Request syntax with placeholder values


resp = client.create_object({
  directory_arn: "Arn", # required
  schema_facets: [ # required
    {
      schema_arn: "Arn",
      facet_name: "FacetName",
    },
  ],
  object_attribute_list: [
    {
      key: { # required
        schema_arn: "Arn", # required
        facet_name: "FacetName", # required
        name: "AttributeName", # required
      },
      value: { # required
        string_value: "StringAttributeValue",
        binary_value: "data",
        boolean_value: false,
        number_value: "NumberAttributeValue",
        datetime_value: Time.now,
      },
    },
  ],
  parent_reference: {
    selector: "SelectorObjectReference",
  },
  link_name: "LinkName",
})

Response structure


resp.object_identifier #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the Directory in which the object will be created. For more information, see arns.

  • :schema_facets (required, Array<Types::SchemaFacet>)

    A list of schema facets to be associated with the object that contains SchemaArn and facet name. For more information, see arns.

  • :object_attribute_list (Array<Types::AttributeKeyAndValue>)

    The attribute map whose attribute ARN contains the key and attribute value as the map value.

  • :parent_reference (Types::ObjectReference)

    If specified, the parent reference to which this object will be attached.

  • :link_name (String)

    The name of link that is used to attach this object to a parent.

Returns:

See Also:



1253
1254
1255
1256
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1253

def create_object(params = {}, options = {})
  req = build_request(:create_object, params)
  req.send_request(options)
end

#create_schema(params = {}) ⇒ Types::CreateSchemaResponse

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.

Examples:

Request syntax with placeholder values


resp = client.create_schema({
  name: "SchemaName", # required
})

Response structure


resp.schema_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name that is associated with the schema. This is unique to each account and in each region.

Returns:

See Also:



1295
1296
1297
1298
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1295

def create_schema(params = {}, options = {})
  req = build_request(:create_schema, params)
  req.send_request(options)
end

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

Examples:

Request syntax with placeholder values


resp = client.create_typed_link_facet({
  schema_arn: "Arn", # required
  facet: { # required
    name: "TypedLinkName", # required
    attributes: [ # required
      {
        name: "AttributeName", # required
        type: "STRING", # required, accepts STRING, BINARY, BOOLEAN, NUMBER, DATETIME
        default_value: {
          string_value: "StringAttributeValue",
          binary_value: "data",
          boolean_value: false,
          number_value: "NumberAttributeValue",
          datetime_value: Time.now,
        },
        is_immutable: false,
        rules: {
          "RuleKey" => {
            type: "BINARY_LENGTH", # accepts BINARY_LENGTH, NUMBER_COMPARISON, STRING_FROM_SET, STRING_LENGTH
            parameters: {
              "RuleParameterKey" => "RuleParameterValue",
            },
          },
        },
        required_behavior: "REQUIRED_ALWAYS", # required, accepts REQUIRED_ALWAYS, NOT_REQUIRED
      },
    ],
    identity_attribute_order: ["AttributeName"], # required
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :schema_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

  • :facet (required, Types::TypedLinkFacet)

    Facet structure that is associated with the typed link facet.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1352
1353
1354
1355
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1352

def create_typed_link_facet(params = {}, options = {})
  req = build_request(:create_typed_link_facet, params)
  req.send_request(options)
end

#delete_directory(params = {}) ⇒ Types::DeleteDirectoryResponse

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

Examples:

Request syntax with placeholder values


resp = client.delete_directory({
  directory_arn: "Arn", # required
})

Response structure


resp.directory_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The ARN of the directory to delete.

Returns:

See Also:



1382
1383
1384
1385
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1382

def delete_directory(params = {}, options = {})
  req = build_request(:delete_directory, params)
  req.send_request(options)
end

#delete_facet(params = {}) ⇒ Struct

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

Examples:

Request syntax with placeholder values


resp = client.delete_facet({
  schema_arn: "Arn", # required
  name: "FacetName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :schema_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns.

  • :name (required, String)

    The name of the facet to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1411
1412
1413
1414
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1411

def delete_facet(params = {}, options = {})
  req = build_request(:delete_facet, params)
  req.send_request(options)
end

#delete_object(params = {}) ⇒ Struct

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

Examples:

Request syntax with placeholder values


resp = client.delete_object({
  directory_arn: "Arn", # required
  object_reference: { # required
    selector: "SelectorObjectReference",
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

  • :object_reference (required, Types::ObjectReference)

    A reference that identifies the object.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1441
1442
1443
1444
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1441

def delete_object(params = {}, options = {})
  req = build_request(:delete_object, params)
  req.send_request(options)
end

#delete_schema(params = {}) ⇒ Types::DeleteSchemaResponse

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

Examples:

Request syntax with placeholder values


resp = client.delete_schema({
  schema_arn: "Arn", # required
})

Response structure


resp.schema_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :schema_arn (required, String)

    The Amazon Resource Name (ARN) of the development schema. For more information, see arns.

Returns:

See Also:



1471
1472
1473
1474
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1471

def delete_schema(params = {}, options = {})
  req = build_request(:delete_schema, params)
  req.send_request(options)
end

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

Examples:

Request syntax with placeholder values


resp = client.delete_typed_link_facet({
  schema_arn: "Arn", # required
  name: "TypedLinkName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :schema_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

  • :name (required, String)

    The unique name of the typed link facet.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1502
1503
1504
1505
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1502

def delete_typed_link_facet(params = {}, options = {})
  req = build_request(:delete_typed_link_facet, params)
  req.send_request(options)
end

#detach_from_index(params = {}) ⇒ Types::DetachFromIndexResponse

Detaches the specified object from the specified index.

Examples:

Request syntax with placeholder values


resp = client.detach_from_index({
  directory_arn: "Arn", # required
  index_reference: { # required
    selector: "SelectorObjectReference",
  },
  target_reference: { # required
    selector: "SelectorObjectReference",
  },
})

Response structure


resp.detached_object_identifier #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The Amazon Resource Name (ARN) of the directory the index and object exist in.

  • :index_reference (required, Types::ObjectReference)

    A reference to the index object.

  • :target_reference (required, Types::ObjectReference)

    A reference to the object being detached from the index.

Returns:

See Also:



1543
1544
1545
1546
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1543

def detach_from_index(params = {}, options = {})
  req = build_request(:detach_from_index, params)
  req.send_request(options)
end

#detach_object(params = {}) ⇒ Types::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.

Examples:

Request syntax with placeholder values


resp = client.detach_object({
  directory_arn: "Arn", # required
  parent_reference: { # required
    selector: "SelectorObjectReference",
  },
  link_name: "LinkName", # required
})

Response structure


resp.detached_object_identifier #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.

  • :parent_reference (required, Types::ObjectReference)

    The parent reference from which the object with the specified link name is detached.

  • :link_name (required, String)

    The link name associated with the object that needs to be detached.

Returns:

See Also:



1584
1585
1586
1587
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1584

def detach_object(params = {}, options = {})
  req = build_request(:detach_object, params)
  req.send_request(options)
end

#detach_policy(params = {}) ⇒ Struct

Detaches a policy from an object.

Examples:

Request syntax with placeholder values


resp = client.detach_policy({
  directory_arn: "Arn", # required
  policy_reference: { # required
    selector: "SelectorObjectReference",
  },
  object_reference: { # required
    selector: "SelectorObjectReference",
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns.

  • :policy_reference (required, Types::ObjectReference)

    Reference that identifies the policy object.

  • :object_reference (required, Types::ObjectReference)

    Reference that identifies the object whose policy object will be detached.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1620
1621
1622
1623
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1620

def detach_policy(params = {}, options = {})
  req = build_request(:detach_policy, params)
  req.send_request(options)
end

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

Examples:

Request syntax with placeholder values


resp = client.detach_typed_link({
  directory_arn: "Arn", # required
  typed_link_specifier: { # required
    typed_link_facet: { # required
      schema_arn: "Arn", # required
      typed_link_name: "TypedLinkName", # required
    },
    source_object_reference: { # required
      selector: "SelectorObjectReference",
    },
    target_object_reference: { # required
      selector: "SelectorObjectReference",
    },
    identity_attribute_values: [ # required
      {
        attribute_name: "AttributeName", # required
        value: { # required
          string_value: "StringAttributeValue",
          binary_value: "data",
          boolean_value: false,
          number_value: "NumberAttributeValue",
          datetime_value: Time.now,
        },
      },
    ],
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The Amazon Resource Name (ARN) of the directory where you want to detach the typed link.

  • :typed_link_specifier (required, Types::TypedLinkSpecifier)

    Used to accept a typed link specifier as input.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1675
1676
1677
1678
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1675

def detach_typed_link(params = {}, options = {})
  req = build_request(:detach_typed_link, params)
  req.send_request(options)
end

#disable_directory(params = {}) ⇒ Types::DisableDirectoryResponse

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

Examples:

Request syntax with placeholder values


resp = client.disable_directory({
  directory_arn: "Arn", # required
})

Response structure


resp.directory_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The ARN of the directory to disable.

Returns:

See Also:



1705
1706
1707
1708
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1705

def disable_directory(params = {}, options = {})
  req = build_request(:disable_directory, params)
  req.send_request(options)
end

#enable_directory(params = {}) ⇒ Types::EnableDirectoryResponse

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

Examples:

Request syntax with placeholder values


resp = client.enable_directory({
  directory_arn: "Arn", # required
})

Response structure


resp.directory_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The ARN of the directory to enable.

Returns:

See Also:



1734
1735
1736
1737
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1734

def enable_directory(params = {}, options = {})
  req = build_request(:enable_directory, params)
  req.send_request(options)
end

#get_directory(params = {}) ⇒ Types::GetDirectoryResponse

Retrieves metadata about a directory.

Examples:

Request syntax with placeholder values


resp = client.get_directory({
  directory_arn: "DirectoryArn", # required
})

Response structure


resp.directory.name #=> String
resp.directory.directory_arn #=> String
resp.directory.state #=> String, one of "ENABLED", "DISABLED", "DELETED"
resp.directory.creation_date_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The ARN of the directory.

Returns:

See Also:



1765
1766
1767
1768
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1765

def get_directory(params = {}, options = {})
  req = build_request(:get_directory, params)
  req.send_request(options)
end

#get_facet(params = {}) ⇒ Types::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.

Examples:

Request syntax with placeholder values


resp = client.get_facet({
  schema_arn: "Arn", # required
  name: "FacetName", # required
})

Response structure


resp.facet.name #=> String
resp.facet.object_type #=> String, one of "NODE", "LEAF_NODE", "POLICY", "INDEX"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :schema_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns.

  • :name (required, String)

    The name of the facet to retrieve.

Returns:

See Also:



1801
1802
1803
1804
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1801

def get_facet(params = {}, options = {})
  req = build_request(:get_facet, params)
  req.send_request(options)
end

#get_object_information(params = {}) ⇒ Types::GetObjectInformationResponse

Retrieves metadata about an object.

Examples:

Request syntax with placeholder values


resp = client.get_object_information({
  directory_arn: "Arn", # required
  object_reference: { # required
    selector: "SelectorObjectReference",
  },
  consistency_level: "SERIALIZABLE", # accepts SERIALIZABLE, EVENTUAL
})

Response structure


resp.schema_facets #=> Array
resp.schema_facets[0].schema_arn #=> String
resp.schema_facets[0].facet_name #=> String
resp.object_identifier #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The ARN of the directory being retrieved.

  • :object_reference (required, Types::ObjectReference)

    A reference to the object.

  • :consistency_level (String)

    The consistency level at which to retrieve the object information.

Returns:

See Also:



1843
1844
1845
1846
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1843

def get_object_information(params = {}, options = {})
  req = build_request(:get_object_information, params)
  req.send_request(options)
end

#get_schema_as_json(params = {}) ⇒ Types::GetSchemaAsJsonResponse

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

Examples:

Request syntax with placeholder values


resp = client.get_schema_as_json({
  schema_arn: "Arn", # required
})

Response structure


resp.name #=> String
resp.document #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :schema_arn (required, String)

    The ARN of the schema to retrieve.

Returns:

See Also:



1878
1879
1880
1881
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1878

def get_schema_as_json(params = {}, options = {})
  req = build_request(:get_schema_as_json, params)
  req.send_request(options)
end

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

Examples:

Request syntax with placeholder values


resp = client.get_typed_link_facet_information({
  schema_arn: "Arn", # required
  name: "TypedLinkName", # required
})

Response structure


resp.identity_attribute_order #=> Array
resp.identity_attribute_order[0] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :schema_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

  • :name (required, String)

    The unique name of the typed link facet.

Returns:

See Also:



1917
1918
1919
1920
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1917

def get_typed_link_facet_information(params = {}, options = {})
  req = build_request(:get_typed_link_facet_information, params)
  req.send_request(options)
end

#list_applied_schema_arns(params = {}) ⇒ Types::ListAppliedSchemaArnsResponse

Lists schemas applied to a directory.

Examples:

Request syntax with placeholder values


resp = client.list_applied_schema_arns({
  directory_arn: "Arn", # required
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.schema_arns #=> Array
resp.schema_arns[0] #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The ARN of the directory you are listing.

  • :next_token (String)

    The pagination token.

  • :max_results (Integer)

    The maximum number of results to retrieve.

Returns:

See Also:



1956
1957
1958
1959
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1956

def list_applied_schema_arns(params = {}, options = {})
  req = build_request(:list_applied_schema_arns, params)
  req.send_request(options)
end

#list_attached_indices(params = {}) ⇒ Types::ListAttachedIndicesResponse

Lists indices attached to an object.

Examples:

Request syntax with placeholder values


resp = client.list_attached_indices({
  directory_arn: "Arn", # required
  target_reference: { # required
    selector: "SelectorObjectReference",
  },
  next_token: "NextToken",
  max_results: 1,
  consistency_level: "SERIALIZABLE", # accepts SERIALIZABLE, EVENTUAL
})

Response structure


resp.index_attachments #=> Array
resp.index_attachments[0].indexed_attributes #=> Array
resp.index_attachments[0].indexed_attributes[0].key.schema_arn #=> String
resp.index_attachments[0].indexed_attributes[0].key.facet_name #=> String
resp.index_attachments[0].indexed_attributes[0].key.name #=> String
resp.index_attachments[0].indexed_attributes[0].value.string_value #=> String
resp.index_attachments[0].indexed_attributes[0].value.binary_value #=> String
resp.index_attachments[0].indexed_attributes[0].value.boolean_value #=> Boolean
resp.index_attachments[0].indexed_attributes[0].value.number_value #=> String
resp.index_attachments[0].indexed_attributes[0].value.datetime_value #=> Time
resp.index_attachments[0].object_identifier #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The ARN of the directory.

  • :target_reference (required, Types::ObjectReference)

    A reference to the object that has indices attached.

  • :next_token (String)

    The pagination token.

  • :max_results (Integer)

    The maximum number of results to retrieve.

  • :consistency_level (String)

    The consistency level to use for this operation.

Returns:

See Also:



2014
2015
2016
2017
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2014

def list_attached_indices(params = {}, options = {})
  req = build_request(:list_attached_indices, params)
  req.send_request(options)
end

#list_development_schema_arns(params = {}) ⇒ Types::ListDevelopmentSchemaArnsResponse

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

Examples:

Request syntax with placeholder values


resp = client.list_development_schema_arns({
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.schema_arns #=> Array
resp.schema_arns[0] #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :next_token (String)

    The pagination token.

  • :max_results (Integer)

    The maximum number of results to retrieve.

Returns:

See Also:



2050
2051
2052
2053
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2050

def list_development_schema_arns(params = {}, options = {})
  req = build_request(:list_development_schema_arns, params)
  req.send_request(options)
end

#list_directories(params = {}) ⇒ Types::ListDirectoriesResponse

Lists directories created within an account.

Examples:

Request syntax with placeholder values


resp = client.list_directories({
  next_token: "NextToken",
  max_results: 1,
  state: "ENABLED", # accepts ENABLED, DISABLED, DELETED
})

Response structure


resp.directories #=> Array
resp.directories[0].name #=> String
resp.directories[0].directory_arn #=> String
resp.directories[0].state #=> String, one of "ENABLED", "DISABLED", "DELETED"
resp.directories[0].creation_date_time #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :next_token (String)

    The pagination token.

  • :max_results (Integer)

    The maximum number of results to retrieve.

  • :state (String)

    The state of the directories in the list. Can be either Enabled, Disabled, or Deleted.

Returns:

See Also:



2093
2094
2095
2096
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2093

def list_directories(params = {}, options = {})
  req = build_request(:list_directories, params)
  req.send_request(options)
end

#list_facet_attributes(params = {}) ⇒ Types::ListFacetAttributesResponse

Retrieves attributes attached to the facet.

Examples:

Request syntax with placeholder values


resp = client.list_facet_attributes({
  schema_arn: "Arn", # required
  name: "FacetName", # required
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.attributes #=> Array
resp.attributes[0].name #=> String
resp.attributes[0].attribute_definition.type #=> String, one of "STRING", "BINARY", "BOOLEAN", "NUMBER", "DATETIME"
resp.attributes[0].attribute_definition.default_value.string_value #=> String
resp.attributes[0].attribute_definition.default_value.binary_value #=> String
resp.attributes[0].attribute_definition.default_value.boolean_value #=> Boolean
resp.attributes[0].attribute_definition.default_value.number_value #=> String
resp.attributes[0].attribute_definition.default_value.datetime_value #=> Time
resp.attributes[0].attribute_definition.is_immutable #=> Boolean
resp.attributes[0].attribute_definition.rules #=> Hash
resp.attributes[0].attribute_definition.rules["RuleKey"].type #=> String, one of "BINARY_LENGTH", "NUMBER_COMPARISON", "STRING_FROM_SET", "STRING_LENGTH"
resp.attributes[0].attribute_definition.rules["RuleKey"].parameters #=> Hash
resp.attributes[0].attribute_definition.rules["RuleKey"].parameters["RuleParameterKey"] #=> String
resp.attributes[0].attribute_reference.target_facet_name #=> String
resp.attributes[0].attribute_reference.target_attribute_name #=> String
resp.attributes[0].required_behavior #=> String, one of "REQUIRED_ALWAYS", "NOT_REQUIRED"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :schema_arn (required, String)

    The ARN of the schema where the facet resides.

  • :name (required, String)

    The name of the facet whose attributes will be retrieved.

  • :next_token (String)

    The pagination token.

  • :max_results (Integer)

    The maximum number of results to retrieve.

Returns:

See Also:



2150
2151
2152
2153
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2150

def list_facet_attributes(params = {}, options = {})
  req = build_request(:list_facet_attributes, params)
  req.send_request(options)
end

#list_facet_names(params = {}) ⇒ Types::ListFacetNamesResponse

Retrieves the names of facets that exist in a schema.

Examples:

Request syntax with placeholder values


resp = client.list_facet_names({
  schema_arn: "Arn", # required
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.facet_names #=> Array
resp.facet_names[0] #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :schema_arn (required, String)

    The Amazon Resource Name (ARN) to retrieve facet names from.

  • :next_token (String)

    The pagination token.

  • :max_results (Integer)

    The maximum number of results to retrieve.

Returns:

See Also:



2189
2190
2191
2192
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2189

def list_facet_names(params = {}, options = {})
  req = build_request(:list_facet_names, params)
  req.send_request(options)
end

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.

Examples:

Request syntax with placeholder values


resp = client.list_incoming_typed_links({
  directory_arn: "Arn", # required
  object_reference: { # required
    selector: "SelectorObjectReference",
  },
  filter_attribute_ranges: [
    {
      attribute_name: "AttributeName",
      range: { # required
        start_mode: "FIRST", # required, accepts FIRST, LAST, LAST_BEFORE_MISSING_VALUES, INCLUSIVE, EXCLUSIVE
        start_value: {
          string_value: "StringAttributeValue",
          binary_value: "data",
          boolean_value: false,
          number_value: "NumberAttributeValue",
          datetime_value: Time.now,
        },
        end_mode: "FIRST", # required, accepts FIRST, LAST, LAST_BEFORE_MISSING_VALUES, INCLUSIVE, EXCLUSIVE
        end_value: {
          string_value: "StringAttributeValue",
          binary_value: "data",
          boolean_value: false,
          number_value: "NumberAttributeValue",
          datetime_value: Time.now,
        },
      },
    },
  ],
  filter_typed_link: {
    schema_arn: "Arn", # required
    typed_link_name: "TypedLinkName", # required
  },
  next_token: "NextToken",
  max_results: 1,
  consistency_level: "SERIALIZABLE", # accepts SERIALIZABLE, EVENTUAL
})

Response structure


resp.link_specifiers #=> Array
resp.link_specifiers[0].typed_link_facet.schema_arn #=> String
resp.link_specifiers[0].typed_link_facet.typed_link_name #=> String
resp.link_specifiers[0].source_object_reference.selector #=> String
resp.link_specifiers[0].target_object_reference.selector #=> String
resp.link_specifiers[0].identity_attribute_values #=> Array
resp.link_specifiers[0].identity_attribute_values[0].attribute_name #=> String
resp.link_specifiers[0].identity_attribute_values[0].value.string_value #=> String
resp.link_specifiers[0].identity_attribute_values[0].value.binary_value #=> String
resp.link_specifiers[0].identity_attribute_values[0].value.boolean_value #=> Boolean
resp.link_specifiers[0].identity_attribute_values[0].value.number_value #=> String
resp.link_specifiers[0].identity_attribute_values[0].value.datetime_value #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The Amazon Resource Name (ARN) of the directory where you want to list the typed links.

  • :object_reference (required, Types::ObjectReference)

    Reference that identifies the object whose attributes will be listed.

  • :filter_attribute_ranges (Array<Types::TypedLinkAttributeRange>)

    Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

  • :filter_typed_link (Types::TypedLinkSchemaAndFacetName)

    Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls.

  • :next_token (String)

    The pagination token.

  • :max_results (Integer)

    The maximum number of results to retrieve.

  • :consistency_level (String)

    The consistency level to execute the request at.

Returns:

See Also:



2293
2294
2295
2296
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2293

def list_incoming_typed_links(params = {}, options = {})
  req = build_request(:list_incoming_typed_links, params)
  req.send_request(options)
end

#list_index(params = {}) ⇒ Types::ListIndexResponse

Lists objects attached to the specified index.

Examples:

Request syntax with placeholder values


resp = client.list_index({
  directory_arn: "Arn", # required
  ranges_on_indexed_values: [
    {
      attribute_key: {
        schema_arn: "Arn", # required
        facet_name: "FacetName", # required
        name: "AttributeName", # required
      },
      range: {
        start_mode: "FIRST", # required, accepts FIRST, LAST, LAST_BEFORE_MISSING_VALUES, INCLUSIVE, EXCLUSIVE
        start_value: {
          string_value: "StringAttributeValue",
          binary_value: "data",
          boolean_value: false,
          number_value: "NumberAttributeValue",
          datetime_value: Time.now,
        },
        end_mode: "FIRST", # required, accepts FIRST, LAST, LAST_BEFORE_MISSING_VALUES, INCLUSIVE, EXCLUSIVE
        end_value: {
          string_value: "StringAttributeValue",
          binary_value: "data",
          boolean_value: false,
          number_value: "NumberAttributeValue",
          datetime_value: Time.now,
        },
      },
    },
  ],
  index_reference: { # required
    selector: "SelectorObjectReference",
  },
  max_results: 1,
  next_token: "NextToken",
  consistency_level: "SERIALIZABLE", # accepts SERIALIZABLE, EVENTUAL
})

Response structure


resp.index_attachments #=> Array
resp.index_attachments[0].indexed_attributes #=> Array
resp.index_attachments[0].indexed_attributes[0].key.schema_arn #=> String
resp.index_attachments[0].indexed_attributes[0].key.facet_name #=> String
resp.index_attachments[0].indexed_attributes[0].key.name #=> String
resp.index_attachments[0].indexed_attributes[0].value.string_value #=> String
resp.index_attachments[0].indexed_attributes[0].value.binary_value #=> String
resp.index_attachments[0].indexed_attributes[0].value.boolean_value #=> Boolean
resp.index_attachments[0].indexed_attributes[0].value.number_value #=> String
resp.index_attachments[0].indexed_attributes[0].value.datetime_value #=> Time
resp.index_attachments[0].object_identifier #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The ARN of the directory that the index exists in.

  • :ranges_on_indexed_values (Array<Types::ObjectAttributeRange>)

    Specifies the ranges of indexed values that you want to query.

  • :index_reference (required, Types::ObjectReference)

    The reference to the index to list.

  • :max_results (Integer)

    The maximum number of results to retrieve from the index.

  • :next_token (String)

    The pagination token.

  • :consistency_level (String)

    The consistency level to execute the request at.

Returns:

See Also:



2381
2382
2383
2384
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2381

def list_index(params = {}, options = {})
  req = build_request(:list_index, params)
  req.send_request(options)
end

#list_object_attributes(params = {}) ⇒ Types::ListObjectAttributesResponse

Lists all attributes that are associated with an object.

Examples:

Request syntax with placeholder values


resp = client.list_object_attributes({
  directory_arn: "Arn", # required
  object_reference: { # required
    selector: "SelectorObjectReference",
  },
  next_token: "NextToken",
  max_results: 1,
  consistency_level: "SERIALIZABLE", # accepts SERIALIZABLE, EVENTUAL
  facet_filter: {
    schema_arn: "Arn",
    facet_name: "FacetName",
  },
})

Response structure


resp.attributes #=> Array
resp.attributes[0].key.schema_arn #=> String
resp.attributes[0].key.facet_name #=> String
resp.attributes[0].key.name #=> String
resp.attributes[0].value.string_value #=> String
resp.attributes[0].value.binary_value #=> String
resp.attributes[0].value.boolean_value #=> Boolean
resp.attributes[0].value.number_value #=> String
resp.attributes[0].value.datetime_value #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

  • :object_reference (required, Types::ObjectReference)

    The reference that identifies the object whose attributes will be listed.

  • :next_token (String)

    The pagination token.

  • :max_results (Integer)

    The maximum number of items to be retrieved in a single call. This is an approximate number.

  • :consistency_level (String)

    Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

  • :facet_filter (Types::SchemaFacet)

    Used to filter the list of object attributes that are associated with a certain facet.

Returns:

See Also:



2450
2451
2452
2453
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2450

def list_object_attributes(params = {}, options = {})
  req = build_request(:list_object_attributes, params)
  req.send_request(options)
end

#list_object_children(params = {}) ⇒ Types::ListObjectChildrenResponse

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

Examples:

Request syntax with placeholder values


resp = client.list_object_children({
  directory_arn: "Arn", # required
  object_reference: { # required
    selector: "SelectorObjectReference",
  },
  next_token: "NextToken",
  max_results: 1,
  consistency_level: "SERIALIZABLE", # accepts SERIALIZABLE, EVENTUAL
})

Response structure


resp.children #=> Hash
resp.children["LinkName"] #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

  • :object_reference (required, Types::ObjectReference)

    The reference that identifies the object for which child objects are being listed.

  • :next_token (String)

    The pagination token.

  • :max_results (Integer)

    The maximum number of items to be retrieved in a single call. This is an approximate number.

  • :consistency_level (String)

    Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

Returns:

See Also:



2505
2506
2507
2508
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2505

def list_object_children(params = {}, options = {})
  req = build_request(:list_object_children, params)
  req.send_request(options)
end

#list_object_parent_paths(params = {}) ⇒ Types::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.

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.

Examples:

Request syntax with placeholder values


resp = client.list_object_parent_paths({
  directory_arn: "Arn", # required
  object_reference: { # required
    selector: "SelectorObjectReference",
  },
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.path_to_object_identifiers_list #=> Array
resp.path_to_object_identifiers_list[0].path #=> String
resp.path_to_object_identifiers_list[0].object_identifiers #=> Array
resp.path_to_object_identifiers_list[0].object_identifiers[0] #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The ARN of the directory to which the parent path applies.

  • :object_reference (required, Types::ObjectReference)

    The reference that identifies the object whose parent paths are listed.

  • :next_token (String)

    The pagination token.

  • :max_results (Integer)

    The maximum number of items to be retrieved in a single call. This is an approximate number.

Returns:

See Also:



2568
2569
2570
2571
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2568

def list_object_parent_paths(params = {}, options = {})
  req = build_request(:list_object_parent_paths, params)
  req.send_request(options)
end

#list_object_parents(params = {}) ⇒ Types::ListObjectParentsResponse

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

Examples:

Request syntax with placeholder values


resp = client.list_object_parents({
  directory_arn: "Arn", # required
  object_reference: { # required
    selector: "SelectorObjectReference",
  },
  next_token: "NextToken",
  max_results: 1,
  consistency_level: "SERIALIZABLE", # accepts SERIALIZABLE, EVENTUAL
})

Response structure


resp.parents #=> Hash
resp.parents["ObjectIdentifier"] #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

  • :object_reference (required, Types::ObjectReference)

    The reference that identifies the object for which parent objects are being listed.

  • :next_token (String)

    The pagination token.

  • :max_results (Integer)

    The maximum number of items to be retrieved in a single call. This is an approximate number.

  • :consistency_level (String)

    Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

Returns:

See Also:



2623
2624
2625
2626
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2623

def list_object_parents(params = {}, options = {})
  req = build_request(:list_object_parents, params)
  req.send_request(options)
end

#list_object_policies(params = {}) ⇒ Types::ListObjectPoliciesResponse

Returns policies attached to an object in pagination fashion.

Examples:

Request syntax with placeholder values


resp = client.list_object_policies({
  directory_arn: "Arn", # required
  object_reference: { # required
    selector: "SelectorObjectReference",
  },
  next_token: "NextToken",
  max_results: 1,
  consistency_level: "SERIALIZABLE", # accepts SERIALIZABLE, EVENTUAL
})

Response structure


resp.attached_policy_ids #=> Array
resp.attached_policy_ids[0] #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.

  • :object_reference (required, Types::ObjectReference)

    Reference that identifies the object for which policies will be listed.

  • :next_token (String)

    The pagination token.

  • :max_results (Integer)

    The maximum number of items to be retrieved in a single call. This is an approximate number.

  • :consistency_level (String)

    Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

Returns:

See Also:



2677
2678
2679
2680
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2677

def list_object_policies(params = {}, options = {})
  req = build_request(:list_object_policies, params)
  req.send_request(options)
end

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.

Examples:

Request syntax with placeholder values


resp = client.list_outgoing_typed_links({
  directory_arn: "Arn", # required
  object_reference: { # required
    selector: "SelectorObjectReference",
  },
  filter_attribute_ranges: [
    {
      attribute_name: "AttributeName",
      range: { # required
        start_mode: "FIRST", # required, accepts FIRST, LAST, LAST_BEFORE_MISSING_VALUES, INCLUSIVE, EXCLUSIVE
        start_value: {
          string_value: "StringAttributeValue",
          binary_value: "data",
          boolean_value: false,
          number_value: "NumberAttributeValue",
          datetime_value: Time.now,
        },
        end_mode: "FIRST", # required, accepts FIRST, LAST, LAST_BEFORE_MISSING_VALUES, INCLUSIVE, EXCLUSIVE
        end_value: {
          string_value: "StringAttributeValue",
          binary_value: "data",
          boolean_value: false,
          number_value: "NumberAttributeValue",
          datetime_value: Time.now,
        },
      },
    },
  ],
  filter_typed_link: {
    schema_arn: "Arn", # required
    typed_link_name: "TypedLinkName", # required
  },
  next_token: "NextToken",
  max_results: 1,
  consistency_level: "SERIALIZABLE", # accepts SERIALIZABLE, EVENTUAL
})

Response structure


resp.typed_link_specifiers #=> Array
resp.typed_link_specifiers[0].typed_link_facet.schema_arn #=> String
resp.typed_link_specifiers[0].typed_link_facet.typed_link_name #=> String
resp.typed_link_specifiers[0].source_object_reference.selector #=> String
resp.typed_link_specifiers[0].target_object_reference.selector #=> String
resp.typed_link_specifiers[0].identity_attribute_values #=> Array
resp.typed_link_specifiers[0].identity_attribute_values[0].attribute_name #=> String
resp.typed_link_specifiers[0].identity_attribute_values[0].value.string_value #=> String
resp.typed_link_specifiers[0].identity_attribute_values[0].value.binary_value #=> String
resp.typed_link_specifiers[0].identity_attribute_values[0].value.boolean_value #=> Boolean
resp.typed_link_specifiers[0].identity_attribute_values[0].value.number_value #=> String
resp.typed_link_specifiers[0].identity_attribute_values[0].value.datetime_value #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The Amazon Resource Name (ARN) of the directory where you want to list the typed links.

  • :object_reference (required, Types::ObjectReference)

    A reference that identifies the object whose attributes will be listed.

  • :filter_attribute_ranges (Array<Types::TypedLinkAttributeRange>)

    Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

  • :filter_typed_link (Types::TypedLinkSchemaAndFacetName)

    Filters are interpreted in the order of the attributes defined on the typed link facet, not the order they are supplied to any API calls.

  • :next_token (String)

    The pagination token.

  • :max_results (Integer)

    The maximum number of results to retrieve.

  • :consistency_level (String)

    The consistency level to execute the request at.

Returns:

See Also:



2782
2783
2784
2785
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2782

def list_outgoing_typed_links(params = {}, options = {})
  req = build_request(:list_outgoing_typed_links, params)
  req.send_request(options)
end

#list_policy_attachments(params = {}) ⇒ Types::ListPolicyAttachmentsResponse

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

Examples:

Request syntax with placeholder values


resp = client.list_policy_attachments({
  directory_arn: "Arn", # required
  policy_reference: { # required
    selector: "SelectorObjectReference",
  },
  next_token: "NextToken",
  max_results: 1,
  consistency_level: "SERIALIZABLE", # accepts SERIALIZABLE, EVENTUAL
})

Response structure


resp.object_identifiers #=> Array
resp.object_identifiers[0] #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.

  • :policy_reference (required, Types::ObjectReference)

    The reference that identifies the policy object.

  • :next_token (String)

    The pagination token.

  • :max_results (Integer)

    The maximum number of items to be retrieved in a single call. This is an approximate number.

  • :consistency_level (String)

    Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

Returns:

See Also:



2836
2837
2838
2839
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2836

def list_policy_attachments(params = {}, options = {})
  req = build_request(:list_policy_attachments, params)
  req.send_request(options)
end

#list_published_schema_arns(params = {}) ⇒ Types::ListPublishedSchemaArnsResponse

Retrieves each published schema Amazon Resource Name (ARN).

Examples:

Request syntax with placeholder values


resp = client.list_published_schema_arns({
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.schema_arns #=> Array
resp.schema_arns[0] #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :next_token (String)

    The pagination token.

  • :max_results (Integer)

    The maximum number of results to retrieve.

Returns:

See Also:



2871
2872
2873
2874
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2871

def list_published_schema_arns(params = {}, options = {})
  req = build_request(:list_published_schema_arns, params)
  req.send_request(options)
end

#list_tags_for_resource(params = {}) ⇒ Types::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.

Examples:

Request syntax with placeholder values


resp = client.list_tags_for_resource({
  resource_arn: "Arn", # required
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.tags #=> Array
resp.tags[0].key #=> String
resp.tags[0].value #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.

  • :next_token (String)

    The pagination token. This is for future use. Currently pagination is not supported for tagging.

  • :max_results (Integer)

    The MaxResults parameter sets the maximum number of results returned in a single page. This is for future use and is not supported currently.

Returns:

See Also:



2917
2918
2919
2920
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2917

def list_tags_for_resource(params = {}, options = {})
  req = build_request(:list_tags_for_resource, params)
  req.send_request(options)
end

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

Examples:

Request syntax with placeholder values


resp = client.list_typed_link_facet_attributes({
  schema_arn: "Arn", # required
  name: "TypedLinkName", # required
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.attributes #=> Array
resp.attributes[0].name #=> String
resp.attributes[0].type #=> String, one of "STRING", "BINARY", "BOOLEAN", "NUMBER", "DATETIME"
resp.attributes[0].default_value.string_value #=> String
resp.attributes[0].default_value.binary_value #=> String
resp.attributes[0].default_value.boolean_value #=> Boolean
resp.attributes[0].default_value.number_value #=> String
resp.attributes[0].default_value.datetime_value #=> Time
resp.attributes[0].is_immutable #=> Boolean
resp.attributes[0].rules #=> Hash
resp.attributes[0].rules["RuleKey"].type #=> String, one of "BINARY_LENGTH", "NUMBER_COMPARISON", "STRING_FROM_SET", "STRING_LENGTH"
resp.attributes[0].rules["RuleKey"].parameters #=> Hash
resp.attributes[0].rules["RuleKey"].parameters["RuleParameterKey"] #=> String
resp.attributes[0].required_behavior #=> String, one of "REQUIRED_ALWAYS", "NOT_REQUIRED"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :schema_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

  • :name (required, String)

    The unique name of the typed link facet.

  • :next_token (String)

    The pagination token.

  • :max_results (Integer)

    The maximum number of results to retrieve.

Returns:

See Also:



2978
2979
2980
2981
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2978

def list_typed_link_facet_attributes(params = {}, options = {})
  req = build_request(:list_typed_link_facet_attributes, params)
  req.send_request(options)
end

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

Examples:

Request syntax with placeholder values


resp = client.list_typed_link_facet_names({
  schema_arn: "Arn", # required
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.facet_names #=> Array
resp.facet_names[0] #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :schema_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

  • :next_token (String)

    The pagination token.

  • :max_results (Integer)

    The maximum number of results to retrieve.

Returns:

See Also:



3023
3024
3025
3026
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3023

def list_typed_link_facet_names(params = {}, options = {})
  req = build_request(:list_typed_link_facet_names, params)
  req.send_request(options)
end

#lookup_policy(params = {}) ⇒ Types::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.

Examples:

Request syntax with placeholder values


resp = client.lookup_policy({
  directory_arn: "Arn", # required
  object_reference: { # required
    selector: "SelectorObjectReference",
  },
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.policy_to_path_list #=> Array
resp.policy_to_path_list[0].path #=> String
resp.policy_to_path_list[0].policies #=> Array
resp.policy_to_path_list[0].policies[0].policy_id #=> String
resp.policy_to_path_list[0].policies[0].object_identifier #=> String
resp.policy_to_path_list[0].policies[0].policy_type #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns.

  • :object_reference (required, Types::ObjectReference)

    Reference that identifies the object whose policies will be looked up.

  • :next_token (String)

    The token to request the next page of results.

  • :max_results (Integer)

    The maximum number of items to be retrieved in a single call. This is an approximate number.

Returns:

See Also:



3084
3085
3086
3087
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3084

def lookup_policy(params = {}, options = {})
  req = build_request(:lookup_policy, params)
  req.send_request(options)
end

#publish_schema(params = {}) ⇒ Types::PublishSchemaResponse

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.

Examples:

Request syntax with placeholder values


resp = client.publish_schema({
  development_schema_arn: "Arn", # required
  version: "Version", # required
  name: "SchemaName",
})

Response structure


resp.published_schema_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :development_schema_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the development schema. For more information, see arns.

  • :version (required, String)

    The version under which the schema will be published.

  • :name (String)

    The new name under which the schema will be published. If this is not provided, the development schema is considered.

Returns:

See Also:



3125
3126
3127
3128
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3125

def publish_schema(params = {}, options = {})
  req = build_request(:publish_schema, params)
  req.send_request(options)
end

#put_schema_from_json(params = {}) ⇒ Types::PutSchemaFromJsonResponse

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

Examples:

Request syntax with placeholder values


resp = client.put_schema_from_json({
  schema_arn: "Arn", # required
  document: "SchemaJsonDocument", # required
})

Response structure


resp.arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :schema_arn (required, String)

    The ARN of the schema to update.

  • :document (required, String)

    The replacement JSON schema.

Returns:

See Also:



3162
3163
3164
3165
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3162

def put_schema_from_json(params = {}, options = {})
  req = build_request(:put_schema_from_json, params)
  req.send_request(options)
end

#remove_facet_from_object(params = {}) ⇒ Struct

Removes the specified facet from the specified object.

Examples:

Request syntax with placeholder values


resp = client.remove_facet_from_object({
  directory_arn: "Arn", # required
  schema_facet: { # required
    schema_arn: "Arn",
    facet_name: "FacetName",
  },
  object_reference: { # required
    selector: "SelectorObjectReference",
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The ARN of the directory in which the object resides.

  • :schema_facet (required, Types::SchemaFacet)

    The facet to remove.

  • :object_reference (required, Types::ObjectReference)

    A reference to the object to remove the facet from.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3197
3198
3199
3200
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3197

def remove_facet_from_object(params = {}, options = {})
  req = build_request(:remove_facet_from_object, params)
  req.send_request(options)
end

#tag_resource(params = {}) ⇒ Struct

An API operation for adding tags to a resource.

Examples:

Request syntax with placeholder values


resp = client.tag_resource({
  resource_arn: "Arn", # required
  tags: [ # required
    {
      key: "TagKey",
      value: "TagValue",
    },
  ],
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.

  • :tags (required, Array<Types::Tag>)

    A list of tag key-value pairs.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3229
3230
3231
3232
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3229

def tag_resource(params = {}, options = {})
  req = build_request(:tag_resource, params)
  req.send_request(options)
end

#untag_resource(params = {}) ⇒ Struct

An API operation for removing tags from a resource.

Examples:

Request syntax with placeholder values


resp = client.untag_resource({
  resource_arn: "Arn", # required
  tag_keys: ["TagKey"], # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.

  • :tag_keys (required, Array<String>)

    Keys of the tag that need to be removed from the resource.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3256
3257
3258
3259
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3256

def untag_resource(params = {}, options = {})
  req = build_request(:untag_resource, params)
  req.send_request(options)
end

#update_facet(params = {}) ⇒ Struct

Does the following:

  1. Adds new Attributes, Rules, or ObjectTypes.

  2. Updates existing Attributes, Rules, or ObjectTypes.

  3. Deletes existing Attributes, Rules, or ObjectTypes.

Examples:

Request syntax with placeholder values


resp = client.update_facet({
  schema_arn: "Arn", # required
  name: "FacetName", # required
  attribute_updates: [
    {
      attribute: {
        name: "AttributeName", # required
        attribute_definition: {
          type: "STRING", # required, accepts STRING, BINARY, BOOLEAN, NUMBER, DATETIME
          default_value: {
            string_value: "StringAttributeValue",
            binary_value: "data",
            boolean_value: false,
            number_value: "NumberAttributeValue",
            datetime_value: Time.now,
          },
          is_immutable: false,
          rules: {
            "RuleKey" => {
              type: "BINARY_LENGTH", # accepts BINARY_LENGTH, NUMBER_COMPARISON, STRING_FROM_SET, STRING_LENGTH
              parameters: {
                "RuleParameterKey" => "RuleParameterValue",
              },
            },
          },
        },
        attribute_reference: {
          target_facet_name: "FacetName", # required
          target_attribute_name: "AttributeName", # required
        },
        required_behavior: "REQUIRED_ALWAYS", # accepts REQUIRED_ALWAYS, NOT_REQUIRED
      },
      action: "CREATE_OR_UPDATE", # accepts CREATE_OR_UPDATE, DELETE
    },
  ],
  object_type: "NODE", # accepts NODE, LEAF_NODE, POLICY, INDEX
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :schema_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns.

  • :name (required, String)

    The name of the facet.

  • :attribute_updates (Array<Types::FacetAttributeUpdate>)

    List of attributes that need to be updated in a given schema Facet. Each attribute is followed by AttributeAction, which specifies the type of update operation to perform.

  • :object_type (String)

    The object type that is associated with the facet. See CreateFacetRequest$ObjectType for more details.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3331
3332
3333
3334
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3331

def update_facet(params = {}, options = {})
  req = build_request(:update_facet, params)
  req.send_request(options)
end

#update_object_attributes(params = {}) ⇒ Types::UpdateObjectAttributesResponse

Updates a given object's attributes.

Examples:

Request syntax with placeholder values


resp = client.update_object_attributes({
  directory_arn: "Arn", # required
  object_reference: { # required
    selector: "SelectorObjectReference",
  },
  attribute_updates: [ # required
    {
      object_attribute_key: {
        schema_arn: "Arn", # required
        facet_name: "FacetName", # required
        name: "AttributeName", # required
      },
      object_attribute_action: {
        object_attribute_action_type: "CREATE_OR_UPDATE", # accepts CREATE_OR_UPDATE, DELETE
        object_attribute_update_value: {
          string_value: "StringAttributeValue",
          binary_value: "data",
          boolean_value: false,
          number_value: "NumberAttributeValue",
          datetime_value: Time.now,
        },
      },
    },
  ],
})

Response structure


resp.object_identifier #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :directory_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

  • :object_reference (required, Types::ObjectReference)

    The reference that identifies the object.

  • :attribute_updates (required, Array<Types::ObjectAttributeUpdate>)

    The attributes update structure.

Returns:

See Also:



3388
3389
3390
3391
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3388

def update_object_attributes(params = {}, options = {})
  req = build_request(:update_object_attributes, params)
  req.send_request(options)
end

#update_schema(params = {}) ⇒ Types::UpdateSchemaResponse

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

Examples:

Request syntax with placeholder values


resp = client.update_schema({
  schema_arn: "Arn", # required
  name: "SchemaName", # required
})

Response structure


resp.schema_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :schema_arn (required, String)

    The Amazon Resource Name (ARN) of the development schema. For more information, see arns.

  • :name (required, String)

    The name of the schema.

Returns:

See Also:



3422
3423
3424
3425
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3422

def update_schema(params = {}, options = {})
  req = build_request(:update_schema, params)
  req.send_request(options)
end

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

Examples:

Request syntax with placeholder values


resp = client.update_typed_link_facet({
  schema_arn: "Arn", # required
  name: "TypedLinkName", # required
  attribute_updates: [ # required
    {
      attribute: { # required
        name: "AttributeName", # required
        type: "STRING", # required, accepts STRING, BINARY, BOOLEAN, NUMBER, DATETIME
        default_value: {
          string_value: "StringAttributeValue",
          binary_value: "data",
          boolean_value: false,
          number_value: "NumberAttributeValue",
          datetime_value: Time.now,
        },
        is_immutable: false,
        rules: {
          "RuleKey" => {
            type: "BINARY_LENGTH", # accepts BINARY_LENGTH, NUMBER_COMPARISON, STRING_FROM_SET, STRING_LENGTH
            parameters: {
              "RuleParameterKey" => "RuleParameterValue",
            },
          },
        },
        required_behavior: "REQUIRED_ALWAYS", # required, accepts REQUIRED_ALWAYS, NOT_REQUIRED
      },
      action: "CREATE_OR_UPDATE", # required, accepts CREATE_OR_UPDATE, DELETE
    },
  ],
  identity_attribute_order: ["AttributeName"], # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :schema_arn (required, String)

    The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

  • :name (required, String)

    The unique name of the typed link facet.

  • :attribute_updates (required, Array<Types::TypedLinkFacetAttributeUpdate>)

    Attributes update structure.

  • :identity_attribute_order (required, Array<String>)

    The order of identity attributes for the facet, from most significant to least significant. The ability to filter typed links considers the order that the attributes are defined on the typed link facet. When providing ranges to a typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range. Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls. For more information about identity attributes, see Typed link.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3498
3499
3500
3501
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3498

def update_typed_link_facet(params = {}, options = {})
  req = build_request(:update_typed_link_facet, params)
  req.send_request(options)
end