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::InstanceProfileCredentials - Used for loading credentials from an EC2 IMDS on an EC2 instance.

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

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

    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 IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of Aws::InstanceProfileCredentails 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.



309
310
311
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 309

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:



367
368
369
370
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 367

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:



405
406
407
408
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 405

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:



455
456
457
458
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 455

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:



492
493
494
495
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 492

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:



533
534
535
536
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 533

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:



612
613
614
615
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 612

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:



967
968
969
970
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 967

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:



1272
1273
1274
1275
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1272

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:



1320
1321
1322
1323
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1320

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:



1416
1417
1418
1419
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1416

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:



1475
1476
1477
1478
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1475

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:



1549
1550
1551
1552
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1549

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:



1591
1592
1593
1594
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1591

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:



1648
1649
1650
1651
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1648

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:



1678
1679
1680
1681
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1678

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:



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

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:



1743
1744
1745
1746
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1743

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:



1773
1774
1775
1776
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1773

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:



1804
1805
1806
1807
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1804

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:



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

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:



1886
1887
1888
1889
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1886

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:



1922
1923
1924
1925
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1922

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:



1977
1978
1979
1980
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1977

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:



2007
2008
2009
2010
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2007

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:



2036
2037
2038
2039
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2036

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:



2065
2066
2067
2068
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2065

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:



2096
2097
2098
2099
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2096

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:



2133
2134
2135
2136
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2133

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:



2211
2212
2213
2214
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2211

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:



2273
2274
2275
2276
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2273

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:



2315
2316
2317
2318
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2315

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:



2350
2351
2352
2353
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2350

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:



2389
2390
2391
2392
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2389

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:



2436
2437
2438
2439
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2436

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:



2496
2497
2498
2499
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2496

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:



2534
2535
2536
2537
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2534

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:



2579
2580
2581
2582
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2579

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:



2638
2639
2640
2641
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2638

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:



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

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:



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

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:



2879
2880
2881
2882
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2879

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:



2923
2924
2925
2926
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2923

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:



2994
2995
2996
2997
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2994

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:



3051
3052
3053
3054
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3051

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:



3116
3117
3118
3119
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3116

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:



3182
3183
3184
3185
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3182

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:



3238
3239
3240
3241
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3238

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:



3343
3344
3345
3346
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3343

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:



3399
3400
3401
3402
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3399

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:



3443
3444
3445
3446
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3443

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:



3491
3492
3493
3494
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3491

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:



3554
3555
3556
3557
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3554

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:



3601
3602
3603
3604
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3601

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:



3664
3665
3666
3667
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3664

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:



3710
3711
3712
3713
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3710

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:



3747
3748
3749
3750
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3747

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:



3782
3783
3784
3785
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3782

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:



3814
3815
3816
3817
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3814

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:



3841
3842
3843
3844
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3841

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:



3916
3917
3918
3919
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3916

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:



3995
3996
3997
3998
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3995

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:



4052
4053
4054
4055
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 4052

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:



4086
4087
4088
4089
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 4086

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:



4162
4163
4164
4165
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 4162

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:



4210
4211
4212
4213
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 4210

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:



4257
4258
4259
4260
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 4257

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