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

Overview

An API client for CloudDirectory. To construct a client, you need to configure a :region and :credentials.

client = Aws::CloudDirectory::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

For details on configuring region and credentials see the developer guide.

See #initialize for a full list of supported configuration options.

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from Aws::ClientStubs

#api_requests, #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(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

  • :credentials (required, Aws::CredentialProvider)

    Your AWS credentials. This can be an instance of any one of the following classes:

    • Aws::Credentials - Used for configuring static, non-refreshing credentials.

    • Aws::SharedCredentials - Used for loading static credentials from a shared file, such as ~/.aws/config.

    • Aws::AssumeRoleCredentials - Used when you need to assume a role.

    • Aws::AssumeRoleWebIdentityCredentials - Used when you need to assume a role after providing credentials via the web.

    • Aws::SSOCredentials - Used for loading credentials from AWS SSO using an access token generated from aws login.

    • Aws::ProcessCredentials - Used for loading credentials from a process that outputs to stdout.

    • Aws::InstanceProfileCredentials - Used for loading credentials from an EC2 IMDS on an EC2 instance.

    • Aws::ECSCredentials - Used for loading credentials from instances running in ECS.

    • Aws::CognitoIdentityCredentials - Used for loading credentials from the Cognito Identity service.

    When :credentials are not configured directly, the following locations will be searched for credentials:

    • Aws.config[:credentials]
    • The :access_key_id, :secret_access_key, and :session_token options.
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • ~/.aws/credentials
    • ~/.aws/config
    • EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of Aws::InstanceProfileCredentails or Aws::ECSCredentials to enable retries and extended timeouts.
  • :region (required, String)

    The AWS region to connect to. The configured :region is used to determine the service :endpoint. When not passed, a default :region is searched for in the following locations:

    • Aws.config[:region]
    • ENV['AWS_REGION']
    • ENV['AMAZON_REGION']
    • ENV['AWS_DEFAULT_REGION']
    • ~/.aws/credentials
    • ~/.aws/config
  • :access_key_id (String)
  • :active_endpoint_cache (Boolean) — default: false

    When set to true, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to false.

  • :adaptive_retry_wait_to_fill (Boolean) — default: true

    Used only in adaptive retry mode. When true, the request will sleep until there is sufficent client side capacity to retry the request. When false, the request will raise a RetryCapacityNotAvailableError and will not retry instead of sleeping.

  • :client_side_monitoring (Boolean) — default: false

    When true, client-side metrics will be collected for all API requests from this client.

  • :client_side_monitoring_client_id (String) — default: ""

    Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string.

  • :client_side_monitoring_host (String) — default: "127.0.0.1"

    Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_port (Integer) — default: 31000

    Required for publishing client metrics. The port that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) — default: Aws::ClientSideMonitoring::Publisher

    Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher.

  • :convert_params (Boolean) — default: true

    When true, an attempt is made to coerce request parameters into the required types.

  • :correct_clock_skew (Boolean) — default: true

    Used only in standard and adaptive retry modes. Specifies whether to apply a clock skew correction and retry requests with skewed client clocks.

  • :disable_host_prefix_injection (Boolean) — default: false

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available.

  • :endpoint (String)

    The client endpoint is normally constructed from the :region option. You should only configure an :endpoint when connecting to test or custom endpoints. This should be a valid HTTP(S) URI.

  • :endpoint_cache_max_entries (Integer) — default: 1000

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000.

  • :endpoint_cache_max_threads (Integer) — default: 10

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

  • :endpoint_cache_poll_interval (Integer) — default: 60

    When :endpoint_discovery and :active_endpoint_cache is enabled, Use this option to config the time interval in seconds for making requests fetching endpoints information. Defaults to 60 sec.

  • :endpoint_discovery (Boolean) — default: false

    When set to true, endpoint discovery will be enabled for operations when available.

  • :log_formatter (Aws::Log::Formatter) — default: Aws::Log::Formatter.default

    The log formatter.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the :logger at.

  • :logger (Logger)

    The Logger instance to send log messages to. If this option is not set, logging will be disabled.

  • :max_attempts (Integer) — default: 3

    An integer representing the maximum number attempts that will be made for a single request, including the initial attempt. For example, setting this value to 5 will result in a request being retried up to 4 times. Used in standard and adaptive retry modes.

  • :profile (String) — default: "default"

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used.

  • :retry_backoff (Proc)

    A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay. This option is only used in the legacy retry mode.

  • :retry_base_delay (Float) — default: 0.3

    The base delay in seconds used by the default backoff function. This option is only used in the legacy retry mode.

  • :retry_jitter (Symbol) — default: :none

    A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number. This option is only used in the legacy retry mode.

    @see https://www.awsarchitectureblog.com/2015/03/backoff.html

  • :retry_limit (Integer) — default: 3

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors, auth errors, endpoint discovery, and errors from expired credentials. This option is only used in the legacy retry mode.

  • :retry_max_delay (Integer) — default: 0

    The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function. This option is only used in the legacy retry mode.

  • :retry_mode (String) — default: "legacy"

    Specifies which retry algorithm to use. Values are:

    • legacy - The pre-existing retry behavior. This is default value if no retry mode is provided.

    • standard - A standardized set of retry rules across the AWS SDKs. This includes support for retry quotas, which limit the number of unsuccessful retries a client can make.

    • adaptive - An experimental retry mode that includes all the functionality of standard mode along with automatic client side throttling. This is a provisional mode that may change behavior in the future.

  • :secret_access_key (String)
  • :session_token (String)
  • :stub_responses (Boolean) — default: false

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling Aws::ClientStubs#stub_responses. See Aws::ClientStubs for more information.

    Please note When response stubbing is enabled, no HTTP requests are made, and retries are disabled.

  • :validate_params (Boolean) — default: true

    When true, request parameters are validated before sending the request.

  • :http_proxy (URI::HTTP, String)

    A proxy to send requests through. Formatted like 'http://proxy.com:123'.

  • :http_open_timeout (Float) — default: 15

    The number of seconds to wait when opening a HTTP session before raising a Timeout::Error.

  • :http_read_timeout (Integer) — default: 60

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_idle_timeout (Float) — default: 5

    The number of seconds a connection is allowed to sit idle before it is considered stale. Stale connections are closed and removed from the pool before making a request.

  • :http_continue_timeout (Float) — default: 1

    The number of seconds to wait for a 100-continue response before sending the request body. This option has no effect unless the request has "Expect" header set to "100-continue". Defaults to nil which disables this behaviour. This value can safely be set per request on the session.

  • :http_wire_trace (Boolean) — default: false

    When true, HTTP debug output will be sent to the :logger.

  • :ssl_verify_peer (Boolean) — default: true

    When true, SSL peer certificates are verified when establishing a connection.

  • :ssl_ca_bundle (String)

    Full path to the SSL certificate authority bundle file that should be used when verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.

  • :ssl_ca_directory (String)

    Full path of the directory that contains the unbundled SSL certificate authority files for verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.



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

def initialize(*args)
  super
end

Instance Method Details

#add_facet_to_object(params = {}) ⇒ Struct

Adds a new Facet to an object. An object can have more than one facet applied on it.

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. See SchemaFacet for details.

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



382
383
384
385
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 382

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, at the specified version, 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:



420
421
422
423
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 420

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:



470
471
472
473
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 470

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", # 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)

    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:



507
508
509
510
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 507

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:



548
549
550
551
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 548

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

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:



627
628
629
630
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 627

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",
        },
      },
      get_object_attributes: {
        object_reference: { # required
          selector: "SelectorObjectReference",
        },
        schema_facet: { # required
          schema_arn: "Arn",
          facet_name: "FacetName",
        },
        attribute_names: ["AttributeName"], # required
      },
      list_object_parents: {
        object_reference: { # required
          selector: "SelectorObjectReference",
        },
        next_token: "NextToken",
        max_results: 1,
      },
      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,
      },
      get_link_attributes: {
        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,
              },
            },
          ],
        },
        attribute_names: ["AttributeName"], # required
      },
    },
  ],
  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.get_object_attributes.attributes #=> Array
resp.responses[0].successful_response.get_object_attributes.attributes[0].key.schema_arn #=> String
resp.responses[0].successful_response.get_object_attributes.attributes[0].key.facet_name #=> String
resp.responses[0].successful_response.get_object_attributes.attributes[0].key.name #=> String
resp.responses[0].successful_response.get_object_attributes.attributes[0].value.string_value #=> String
resp.responses[0].successful_response.get_object_attributes.attributes[0].value.binary_value #=> String
resp.responses[0].successful_response.get_object_attributes.attributes[0].value.boolean_value #=> Boolean
resp.responses[0].successful_response.get_object_attributes.attributes[0].value.number_value #=> String
resp.responses[0].successful_response.get_object_attributes.attributes[0].value.datetime_value #=> Time
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].successful_response.get_link_attributes.attributes #=> Array
resp.responses[0].successful_response.get_link_attributes.attributes[0].key.schema_arn #=> String
resp.responses[0].successful_response.get_link_attributes.attributes[0].key.facet_name #=> String
resp.responses[0].successful_response.get_link_attributes.attributes[0].key.name #=> String
resp.responses[0].successful_response.get_link_attributes.attributes[0].value.string_value #=> String
resp.responses[0].successful_response.get_link_attributes.attributes[0].value.binary_value #=> String
resp.responses[0].successful_response.get_link_attributes.attributes[0].value.boolean_value #=> Boolean
resp.responses[0].successful_response.get_link_attributes.attributes[0].value.number_value #=> String
resp.responses[0].successful_response.get_link_attributes.attributes[0].value.datetime_value #=> Time
resp.responses[0].successful_response.list_object_parents.parent_links #=> Array
resp.responses[0].successful_response.list_object_parents.parent_links[0].object_identifier #=> String
resp.responses[0].successful_response.list_object_parents.parent_links[0].link_name #=> String
resp.responses[0].successful_response.list_object_parents.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:



982
983
984
985
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 982

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.

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: {
          selector: "SelectorObjectReference",
        },
        link_name: "LinkName",
        batch_reference_name: "BatchReferenceName",
      },
      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",
      },
      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,
              },
            },
          ],
        },
      },
      update_link_attributes: {
        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,
              },
            },
          ],
        },
        attribute_updates: [ # required
          {
            attribute_key: {
              schema_arn: "Arn", # required
              facet_name: "FacetName", # required
              name: "AttributeName", # required
            },
            attribute_action: {
              attribute_action_type: "CREATE_OR_UPDATE", # accepts CREATE_OR_UPDATE, DELETE
              attribute_update_value: {
                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:



1287
1288
1289
1290
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1287

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.

You can also quickly create a directory using a managed schema, called the QuickStartSchema. For more information, see Managed Schema in the Amazon Cloud Directory Developer Guide.

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:



1335
1336
1337
1338
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1335

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, VARIANT
        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", # accepts NODE, LEAF_NODE, POLICY, INDEX
  facet_style: "STATIC", # accepts STATIC, DYNAMIC
})

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

    ^

  • :facet_style (String)

    There are two different styles that you can define on any given facet, Static and Dynamic. For static facets, all attributes must be defined in the schema. For dynamic facets, attributes can be defined during data plane operations.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1431
1432
1433
1434
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1431

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 and search 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:



1490
1491
1492
1493
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1490

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. Do not provide minor version components. See SchemaFacet for details.

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



1564
1565
1566
1567
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1564

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:



1606
1607
1608
1609
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1606

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

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

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, VARIANT
        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:



1663
1664
1665
1666
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1663

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:



1693
1694
1695
1696
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1693

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:



1722
1723
1724
1725
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1722

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. The maximum number of attributes that can be deleted during an object deletion is 30. For more information, see Amazon Cloud Directory Limits.

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:



1758
1759
1760
1761
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1758

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:



1788
1789
1790
1791
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1788

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

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

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:



1819
1820
1821
1822
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1819

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:



1860
1861
1862
1863
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1860

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:



1901
1902
1903
1904
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1901

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:



1937
1938
1939
1940
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1937

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

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:



1992
1993
1994
1995
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1992

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:



2022
2023
2024
2025
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2022

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:



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

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

#get_applied_schema_version(params = {}) ⇒ Types::GetAppliedSchemaVersionResponse

Returns current applied schema version ARN, including the minor version in use.

Examples:

Request syntax with placeholder values


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

Response structure


resp.applied_schema_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :schema_arn (required, String)

    The ARN of the applied schema.

Returns:

See Also:



2080
2081
2082
2083
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2080

def get_applied_schema_version(params = {}, options = {})
  req = build_request(:get_applied_schema_version, 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:



2111
2112
2113
2114
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2111

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"
resp.facet.facet_style #=> String, one of "STATIC", "DYNAMIC"

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:



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

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

Retrieves attributes that are associated with a typed link.

Examples:

Request syntax with placeholder values


resp = client.get_link_attributes({
  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,
        },
      },
    ],
  },
  attribute_names: ["AttributeName"], # required
  consistency_level: "SERIALIZABLE", # accepts SERIALIZABLE, EVENTUAL
})

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

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 typed link resides. For more information, see arns or Typed Links.

  • :typed_link_specifier (required, Types::TypedLinkSpecifier)

    Allows a typed link specifier to be accepted as input.

  • :attribute_names (required, Array<String>)

    A list of attribute names whose values will be retrieved.

  • :consistency_level (String)

    The consistency level at which to retrieve the attributes on a typed link.

Returns:

See Also:



2226
2227
2228
2229
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2226

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

#get_object_attributes(params = {}) ⇒ Types::GetObjectAttributesResponse

Retrieves attributes within a facet that are associated with an object.

Examples:

Request syntax with placeholder values


resp = client.get_object_attributes({
  directory_arn: "Arn", # required
  object_reference: { # required
    selector: "SelectorObjectReference",
  },
  consistency_level: "SERIALIZABLE", # accepts SERIALIZABLE, EVENTUAL
  schema_facet: { # required
    schema_arn: "Arn",
    facet_name: "FacetName",
  },
  attribute_names: ["AttributeName"], # required
})

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

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.

  • :object_reference (required, Types::ObjectReference)

    Reference that identifies the object whose attributes will be retrieved.

  • :consistency_level (String)

    The consistency level at which to retrieve the attributes on an object.

  • :schema_facet (required, Types::SchemaFacet)

    Identifier for the facet whose attributes will be retrieved. See SchemaFacet for details.

  • :attribute_names (required, Array<String>)

    List of attribute names whose values will be retrieved.

Returns:

See Also:



2288
2289
2290
2291
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2288

def get_object_attributes(params = {}, options = {})
  req = build_request(:get_object_attributes, 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:



2330
2331
2332
2333
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2330

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:



2365
2366
2367
2368
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2365

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

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:



2404
2405
2406
2407
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2404

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 schema major versions applied to a directory. If SchemaArn is provided, lists the minor version.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_applied_schema_arns({
  directory_arn: "Arn", # required
  schema_arn: "Arn",
  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.

  • :schema_arn (String)

    The response for ListAppliedSchemaArns when this parameter is used will list all minor version ARNs for a major version.

  • :next_token (String)

    The pagination token.

  • :max_results (Integer)

    The maximum number of results to retrieve.

Returns:

See Also:



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

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 the specified object.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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:



2511
2512
2513
2514
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2511

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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:



2549
2550
2551
2552
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2549

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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:



2594
2595
2596
2597
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2594

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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", "VARIANT"
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:



2653
2654
2655
2656
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2653

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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:



2694
2695
2696
2697
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2694

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

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:



2798
2799
2800
2801
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2798

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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 objects in a single page to retrieve from the index during a request. For more information, see Amazon Cloud Directory Limits.

  • :next_token (String)

    The pagination token.

  • :consistency_level (String)

    The consistency level to execute the request at.

Returns:

See Also:



2894
2895
2896
2897
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2894

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

#list_managed_schema_arns(params = {}) ⇒ Types::ListManagedSchemaArnsResponse

Lists the major version families of each managed schema. If a major version ARN is provided as SchemaArn, the minor version revisions in that family are listed instead.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_managed_schema_arns({
  schema_arn: "Arn",
  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):

  • :schema_arn (String)

    The response for ListManagedSchemaArns. When this parameter is used, all minor version ARNs for a major version are listed.

  • :next_token (String)

    The pagination token.

  • :max_results (Integer)

    The maximum number of results to retrieve.

Returns:

See Also:



2938
2939
2940
2941
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2938

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

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

Lists all attributes that are associated with an object.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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:



3009
3010
3011
3012
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3009

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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:



3066
3067
3068
3069
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3066

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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:



3131
3132
3133
3134
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3131

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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
  include_all_links_to_each_parent: false,
})

Response structure


resp.parents #=> Hash
resp.parents["ObjectIdentifier"] #=> String
resp.next_token #=> String
resp.parent_links #=> Array
resp.parent_links[0].object_identifier #=> String
resp.parent_links[0].link_name #=> 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.

  • :include_all_links_to_each_parent (Boolean)

    When set to True, returns all ListObjectParentsResponse$ParentLinks. There could be multiple links between a parent-child pair.

Returns:

See Also:



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

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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:



3253
3254
3255
3256
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3253

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

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:



3358
3359
3360
3361
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3358

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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:



3414
3415
3416
3417
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3414

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

Lists the major version families of each published schema. If a major version ARN is provided as SchemaArn, the minor version revisions in that family are listed instead.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_published_schema_arns({
  schema_arn: "Arn",
  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):

  • :schema_arn (String)

    The response for ListPublishedSchemaArns when this parameter is used will list all minor version ARNs for a major version.

  • :next_token (String)

    The pagination token.

  • :max_results (Integer)

    The maximum number of results to retrieve.

Returns:

See Also:



3458
3459
3460
3461
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3458

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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:



3506
3507
3508
3509
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3506

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

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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", "VARIANT"
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:



3569
3570
3571
3572
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3569

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

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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:



3616
3617
3618
3619
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3616

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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:



3679
3680
3681
3682
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3679

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 major version and a recommended minor version.

Examples:

Request syntax with placeholder values


resp = client.publish_schema({
  development_schema_arn: "Arn", # required
  version: "Version", # required
  minor_version: "Version",
  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 major version under which the schema will be published. Schemas have both a major and minor version associated with them.

  • :minor_version (String)

    The minor version under which the schema will be published. This parameter is recommended. Schemas have both a major and minor version associated with them.

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



3725
3726
3727
3728
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3725

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:



3762
3763
3764
3765
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3762

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. See SchemaFacet for details.

  • :object_reference (required, Types::ObjectReference)

    A reference to the object to remove the facet from.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3797
3798
3799
3800
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3797

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:



3829
3830
3831
3832
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3829

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:



3856
3857
3858
3859
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3856

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, VARIANT
          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:



3931
3932
3933
3934
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3931

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

Updates a given typed link’s attributes. Attributes to be updated must not contribute to the typed link’s identity, as defined by its IdentityAttributeOrder.

Examples:

Request syntax with placeholder values


resp = client.update_link_attributes({
  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,
        },
      },
    ],
  },
  attribute_updates: [ # required
    {
      attribute_key: {
        schema_arn: "Arn", # required
        facet_name: "FacetName", # required
        name: "AttributeName", # required
      },
      attribute_action: {
        attribute_action_type: "CREATE_OR_UPDATE", # accepts CREATE_OR_UPDATE, DELETE
        attribute_update_value: {
          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) that is associated with the Directory where the updated typed link resides. For more information, see arns or Typed Links.

  • :typed_link_specifier (required, Types::TypedLinkSpecifier)

    Allows a typed link specifier to be accepted as input.

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

    The attributes update structure.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



4010
4011
4012
4013
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 4010

def update_link_attributes(params = {}, options = {})
  req = build_request(:update_link_attributes, 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:



4067
4068
4069
4070
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 4067

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:



4101
4102
4103
4104
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 4101

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

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

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, VARIANT
        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 Links.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



4177
4178
4179
4180
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 4177

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

#upgrade_applied_schema(params = {}) ⇒ Types::UpgradeAppliedSchemaResponse

Upgrades a single directory in-place using the PublishedSchemaArn with schema updates found in MinorVersion. Backwards-compatible minor version upgrades are instantaneously available for readers on all objects in the directory. Note: This is a synchronous API call and upgrades only one schema on a given directory per call. To upgrade multiple directories from one schema, you would need to call this API on each directory.

Examples:

Request syntax with placeholder values


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

Response structure


resp.upgraded_schema_arn #=> String
resp.directory_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :published_schema_arn (required, String)

    The revision of the published schema to upgrade the directory to.

  • :directory_arn (required, String)

    The ARN for the directory to which the upgraded schema will be applied.

  • :dry_run (Boolean)

    Used for testing whether the major version schemas are backward compatible or not. If schema compatibility fails, an exception would be thrown else the call would succeed but no changes will be saved. This parameter is optional.

Returns:

See Also:



4225
4226
4227
4228
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 4225

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

#upgrade_published_schema(params = {}) ⇒ Types::UpgradePublishedSchemaResponse

Upgrades a published schema under a new minor version revision using the current contents of DevelopmentSchemaArn.

Examples:

Request syntax with placeholder values


resp = client.upgrade_published_schema({
  development_schema_arn: "Arn", # required
  published_schema_arn: "Arn", # required
  minor_version: "Version", # required
  dry_run: false,
})

Response structure


resp.upgraded_schema_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :development_schema_arn (required, String)

    The ARN of the development schema with the changes used for the upgrade.

  • :published_schema_arn (required, String)

    The ARN of the published schema to be upgraded.

  • :minor_version (required, String)

    Identifies the minor version of the published schema that will be created. This parameter is NOT optional.

  • :dry_run (Boolean)

    Used for testing whether the Development schema provided is backwards compatible, or not, with the publish schema provided by the user to be upgraded. If schema compatibility fails, an exception would be thrown else the call would succeed. This parameter is optional and defaults to false.

Returns:

See Also:



4272
4273
4274
4275
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 4272

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