Class: Aws::CloudDirectory::Client

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

Overview

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

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

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

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

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from Aws::ClientStubs

#api_requests, #stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

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

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

  • :credentials (required, Aws::CredentialProvider)

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

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

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

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

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

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

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

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

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

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

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

    • Aws.config[:credentials]
    • The :access_key_id, :secret_access_key, and :session_token options.
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • ~/.aws/credentials
    • ~/.aws/config
    • EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of Aws::InstanceProfileCredentails or Aws::ECSCredentials to enable retries and extended timeouts. Instance profile credential fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED'] to true.
  • :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.

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

    See DefaultsModeConfiguration for a list of the accepted modes and the configuration defaults that are included.

  • :disable_host_prefix_injection (Boolean) — default: false

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

  • :disable_request_compression (Boolean) — default: false

    When set to 'true' the request body will not be compressed for supported operations.

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

  • :ignore_configured_endpoint_urls (Boolean)

    Setting to true disables use of endpoint URLs provided via environment variables and the shared configuration file.

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

  • :request_min_compression_size_bytes (Integer) — default: 10240

    The minimum size in bytes that triggers compression for request bodies. The value must be non-negative integer value between 0 and 10485780 bytes inclusive.

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

  • :sdk_ua_app_id (String)

    A unique and opaque application ID that is appended to the User-Agent header as app/. It should have a maximum length of 50.

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

  • :token_provider (Aws::TokenProvider)

    A Bearer Token Provider. This can be an instance of any one of the following classes:

    • Aws::StaticTokenProvider - Used for configuring static, non-refreshing tokens.

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

    When :token_provider is not configured directly, the Aws::TokenProviderChain will be used to search for tokens configured for your profile in shared configuration files.

  • :use_dualstack_endpoint (Boolean)

    When set to true, dualstack enabled endpoints (with .aws TLD) will be used if available.

  • :use_fips_endpoint (Boolean)

    When set to true, fips compatible endpoints will be used if available. When a fips region is used, the region is normalized and this config is set to true.

  • :validate_params (Boolean) — default: true

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

  • :endpoint_provider (Aws::CloudDirectory::EndpointProvider)

    The endpoint provider used to resolve endpoints. Any object that responds to #resolve_endpoint(parameters) where parameters is a Struct similar to Aws::CloudDirectory::EndpointParameters

  • :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 (Float) — 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.

  • :ssl_timeout (Float) — default: nil

    Sets the SSL timeout in seconds.

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



385
386
387
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 385

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:



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

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:



481
482
483
484
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 481

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:



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

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:



568
569
570
571
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 568

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:



609
610
611
612
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 609

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:



688
689
690
691
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 688

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:



1043
1044
1045
1046
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1043

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:



1348
1349
1350
1351
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1348

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:



1396
1397
1398
1399
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1396

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:



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

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:



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

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:



1625
1626
1627
1628
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1625

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:



1667
1668
1669
1670
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1667

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:



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

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:



1754
1755
1756
1757
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1754

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:



1783
1784
1785
1786
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1783

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:



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

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:



1849
1850
1851
1852
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1849

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:



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

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:



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

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:



1962
1963
1964
1965
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1962

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:



1998
1999
2000
2001
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 1998

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:



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

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:



2083
2084
2085
2086
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2083

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:



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

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:



2141
2142
2143
2144
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2141

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:



2172
2173
2174
2175
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2172

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:



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

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:



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

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:



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

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:



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

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:



2426
2427
2428
2429
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2426

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:



2465
2466
2467
2468
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2465

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:



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

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:



2572
2573
2574
2575
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2572

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:



2610
2611
2612
2613
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2610

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:



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

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:



2714
2715
2716
2717
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2714

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:



2755
2756
2757
2758
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2755

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:



2859
2860
2861
2862
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2859

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:



2955
2956
2957
2958
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2955

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:



2999
3000
3001
3002
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 2999

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:



3070
3071
3072
3073
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3070

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:



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

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:



3192
3193
3194
3195
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3192

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:



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

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:



3314
3315
3316
3317
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3314

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:



3419
3420
3421
3422
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3419

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:



3475
3476
3477
3478
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3475

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:



3519
3520
3521
3522
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3519

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:



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

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:



3630
3631
3632
3633
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3630

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:



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

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:



3740
3741
3742
3743
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3740

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:



3786
3787
3788
3789
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3786

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:



3823
3824
3825
3826
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3823

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:



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

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:



3890
3891
3892
3893
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3890

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:



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

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:



3992
3993
3994
3995
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 3992

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:



4071
4072
4073
4074
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 4071

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:



4128
4129
4130
4131
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 4128

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:



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

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:



4238
4239
4240
4241
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 4238

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:



4286
4287
4288
4289
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 4286

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:



4333
4334
4335
4336
# File 'gems/aws-sdk-clouddirectory/lib/aws-sdk-clouddirectory/client.rb', line 4333

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