class Aws::CloudDirectory::Client
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](/sdk-for-ruby/v3/developer-guide/setup-config.html).
See {#initialize} for a full list of supported configuration options.
Attributes
@api private
Public Class Methods
@api private
# File lib/aws-sdk-clouddirectory/client.rb, line 4306 def errors_module Errors end
@overload initialize(options)
@param [Hash] options @option options [required, Aws::CredentialProvider] :credentials 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. @option options [required, String] :region 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` @option options [String] :access_key_id @option options [Boolean] :active_endpoint_cache (false) When set to `true`, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to `false`. @option options [Boolean] :adaptive_retry_wait_to_fill (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. @option options [Boolean] :client_side_monitoring (false) When `true`, client-side metrics will be collected for all API requests from this client. @option options [String] :client_side_monitoring_client_id ("") Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string. @option options [String] :client_side_monitoring_host ("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. @option options [Integer] :client_side_monitoring_port (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. @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher. @option options [Boolean] :convert_params (true) When `true`, an attempt is made to coerce request parameters into the required types. @option options [Boolean] :correct_clock_skew (true) Used only in `standard` and adaptive retry modes. Specifies whether to apply a clock skew correction and retry requests with skewed client clocks. @option options [Boolean] :disable_host_prefix_injection (false) Set to true to disable SDK automatically adding host prefix to default service endpoint when available. @option options [String] :endpoint 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. @option options [Integer] :endpoint_cache_max_entries (1000) Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000. @option options [Integer] :endpoint_cache_max_threads (10) Used for the maximum threads in use for polling endpoints to be cached, defaults to 10. @option options [Integer] :endpoint_cache_poll_interval (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. @option options [Boolean] :endpoint_discovery (false) When set to `true`, endpoint discovery will be enabled for operations when available. @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default) The log formatter. @option options [Symbol] :log_level (:info) The log level to send messages to the `:logger` at. @option options [Logger] :logger The Logger instance to send log messages to. If this option is not set, logging will be disabled. @option options [Integer] :max_attempts (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. @option options [String] :profile ("default") Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used. @option options [Proc] :retry_backoff A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay. This option is only used in the `legacy` retry mode. @option options [Float] :retry_base_delay (0.3) The base delay in seconds used by the default backoff function. This option is only used in the `legacy` retry mode. @option options [Symbol] :retry_jitter (: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 @option options [Integer] :retry_limit (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. @option options [Integer] :retry_max_delay (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. @option options [String] :retry_mode ("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. @option options [String] :secret_access_key @option options [String] :session_token @option options [Boolean] :stub_responses (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 {ClientStubs#stub_responses}. See {ClientStubs} for more information. ** Please note ** When response stubbing is enabled, no HTTP requests are made, and retries are disabled. @option options [Boolean] :validate_params (true) When `true`, request parameters are validated before sending the request. @option options [URI::HTTP,String] :http_proxy A proxy to send requests through. Formatted like 'http://proxy.com:123'. @option options [Float] :http_open_timeout (15) The number of seconds to wait when opening a HTTP session before raising a `Timeout::Error`. @option options [Integer] :http_read_timeout (60) The default number of seconds to wait for response data. This value can safely be set per-request on the session. @option options [Float] :http_idle_timeout (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. @option options [Float] :http_continue_timeout (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. @option options [Boolean] :http_wire_trace (false) When `true`, HTTP debug output will be sent to the `:logger`. @option options [Boolean] :ssl_verify_peer (true) When `true`, SSL peer certificates are verified when establishing a connection. @option options [String] :ssl_ca_bundle 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. @option options [String] :ssl_ca_directory 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.
# File lib/aws-sdk-clouddirectory/client.rb, line 324 def initialize(*args) super end
Public Instance Methods
Adds a new Facet to an object. An object can have more than one facet applied on it.
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.
@option params [required, Types::SchemaFacet] :schema_facet
Identifiers for the facet that you are adding to the object. See SchemaFacet for details.
@option params [Array<Types::AttributeKeyAndValue>] :object_attribute_list
Attributes on the facet that you are adding to the object.
@option params [required, Types::ObjectReference] :object_reference
A reference to the object you are adding the specified facet to.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example 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", }, })
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/AddFacetToObject AWS API Documentation
@overload add_facet_to_object
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 382 def add_facet_to_object(params = {}, options = {}) req = build_request(:add_facet_to_object, params) req.send_request(options) end
Copies the input published schema, at the specified version, into the Directory with the same name and version as that of the published schema.
@option params [required, String] :published_schema_arn
Published schema Amazon Resource Name (ARN) that needs to be copied. For more information, see arns.
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) that is associated with the Directory into which the schema is copied. For more information, see arns.
@return [Types::ApplySchemaResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::ApplySchemaResponse#applied_schema_arn #applied_schema_arn} => String * {Types::ApplySchemaResponse#directory_arn #directory_arn} => String
@example Request syntax with placeholder values
resp = client.apply_schema({ published_schema_arn: "Arn", # required directory_arn: "Arn", # required })
@example Response structure
resp.applied_schema_arn #=> String resp.directory_arn #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/ApplySchema AWS API Documentation
@overload apply_schema
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 420 def apply_schema(params = {}, options = {}) req = build_request(:apply_schema, params) req.send_request(options) end
Attaches an existing object to another object. An object can be accessed in two ways:
-
Using the path
-
Using `ObjectIdentifier`
@option params [required, String] :directory_arn
Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns.
@option params [required, Types::ObjectReference] :parent_reference
The parent object reference.
@option params [required, Types::ObjectReference] :child_reference
The child object reference to be attached to the object.
@option params [required, String] :link_name
The link name with which the child object is attached to the parent.
@return [Types::AttachObjectResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::AttachObjectResponse#attached_object_identifier #attached_object_identifier} => String
@example 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 })
@example Response structure
resp.attached_object_identifier #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/AttachObject AWS API Documentation
@overload attach_object
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 470 def attach_object(params = {}, options = {}) req = build_request(:attach_object, params) req.send_request(options) end
Attaches a policy object to a regular object. An object can have a limited number of attached policies.
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns.
@option params [required, Types::ObjectReference] :policy_reference
The reference that is associated with the policy object.
@option params [required, Types::ObjectReference] :object_reference
The reference that identifies the object to which the policy will be attached.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example Request syntax with placeholder values
resp = client.attach_policy({ directory_arn: "Arn", # required policy_reference: { # required selector: "SelectorObjectReference", }, object_reference: { # required selector: "SelectorObjectReference", }, })
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/AttachPolicy AWS API Documentation
@overload attach_policy
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 507 def attach_policy(params = {}, options = {}) req = build_request(:attach_policy, params) req.send_request(options) end
Attaches the specified object to the specified index.
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) of the directory where the object and index exist.
@option params [required, Types::ObjectReference] :index_reference
A reference to the index that you are attaching the object to.
@option params [required, Types::ObjectReference] :target_reference
A reference to the object that you are attaching to the index.
@return [Types::AttachToIndexResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::AttachToIndexResponse#attached_object_identifier #attached_object_identifier} => String
@example Request syntax with placeholder values
resp = client.attach_to_index({ directory_arn: "Arn", # required index_reference: { # required selector: "SelectorObjectReference", }, target_reference: { # required selector: "SelectorObjectReference", }, })
@example Response structure
resp.attached_object_identifier #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/AttachToIndex AWS API Documentation
@overload attach_to_index
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 548 def attach_to_index(params = {}, options = {}) req = build_request(:attach_to_index, params) req.send_request(options) end
Attaches a typed link to a specified source and target object. For more information, see [Typed Links].
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) of the directory where you want to attach the typed link.
@option params [required, Types::ObjectReference] :source_object_reference
Identifies the source object that the typed link will attach to.
@option params [required, Types::ObjectReference] :target_object_reference
Identifies the target object that the typed link will attach to.
@option params [required, Types::TypedLinkSchemaAndFacetName] :typed_link_facet
Identifies the typed link facet that is associated with the typed link.
@option params [required, Array<Types::AttributeNameAndValue>] :attributes
A set of attributes that are associated with the typed link.
@return [Types::AttachTypedLinkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::AttachTypedLinkResponse#typed_link_specifier #typed_link_specifier} => Types::TypedLinkSpecifier
@example 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, }, }, ], })
@example 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
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/AttachTypedLink AWS API Documentation
@overload attach_typed_link
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 627 def attach_typed_link(params = {}, options = {}) req = build_request(:attach_typed_link, params) req.send_request(options) end
Performs all the read operations in a batch.
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns.
@option params [required, Array<Types::BatchReadOperation>] :operations
A list of operations that are part of the batch.
@option params [String] :consistency_level
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.
@return [Types::BatchReadResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::BatchReadResponse#responses #responses} => Array<Types::BatchReadOperationResponse>
@example 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 })
@example 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
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/BatchRead AWS API Documentation
@overload batch_read
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 982 def batch_read(params = {}, options = {}) req = build_request(:batch_read, params) req.send_request(options) end
Performs all the write operations in a batch. Either all the operations succeed or none.
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns.
@option params [required, Array<Types::BatchWriteOperation>] :operations
A list of operations that are part of the batch.
@return [Types::BatchWriteResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::BatchWriteResponse#responses #responses} => Array<Types::BatchWriteOperationResponse>
@example 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, }, }, }, ], }, }, ], })
@example 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
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/BatchWrite AWS API Documentation
@overload batch_write
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 1287 def batch_write(params = {}, options = {}) req = build_request(:batch_write, params) req.send_request(options) end
@param params ({}) @api private
# File lib/aws-sdk-clouddirectory/client.rb, line 4281 def build_request(operation_name, params = {}) handlers = @handlers.for(operation_name) context = Seahorse::Client::RequestContext.new( operation_name: operation_name, operation: config.api.operation(operation_name), client: self, params: params, config: config) context[:gem_name] = 'aws-sdk-clouddirectory' context[:gem_version] = '1.35.0' Seahorse::Client::Request.new(handlers, context) end
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*.
[1]: docs.aws.amazon.com/clouddirectory/latest/developerguide/schemas_managed.html
@option params [required, String] :name
The name of the Directory. Should be unique per account, per region.
@option params [required, String] :schema_arn
The Amazon Resource Name (ARN) of the published schema that will be copied into the data Directory. For more information, see arns.
@return [Types::CreateDirectoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::CreateDirectoryResponse#directory_arn #directory_arn} => String * {Types::CreateDirectoryResponse#name #name} => String * {Types::CreateDirectoryResponse#object_identifier #object_identifier} => String * {Types::CreateDirectoryResponse#applied_schema_arn #applied_schema_arn} => String
@example Request syntax with placeholder values
resp = client.create_directory({ name: "DirectoryName", # required schema_arn: "Arn", # required })
@example Response structure
resp.directory_arn #=> String resp.name #=> String resp.object_identifier #=> String resp.applied_schema_arn #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/CreateDirectory AWS API Documentation
@overload create_directory
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 1335 def create_directory(params = {}, options = {}) req = build_request(:create_directory, params) req.send_request(options) end
Creates a new Facet in a schema. Facet creation is allowed only in development or applied schemas.
@option params [required, String] :schema_arn
The schema ARN in which the new Facet will be created. For more information, see arns.
@option params [required, String] :name
The name of the Facet, which is unique for a given schema.
@option params [Array<Types::FacetAttribute>] :attributes
The attributes that are associated with the Facet.
@option params [String] :object_type
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][1]. ^ ^ * Index: Can be created with the Index API. ^ [1]: https://docs.aws.amazon.com/clouddirectory/latest/developerguide/key_concepts_directory.html#key_concepts_policies
@option params [String] :facet_style
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.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example 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 })
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/CreateFacet AWS API Documentation
@overload create_facet
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 1431 def create_facet(params = {}, options = {}) req = build_request(:create_facet, params) req.send_request(options) end
Creates an index object. See [Indexing and search] for more information.
[1]: docs.aws.amazon.com/clouddirectory/latest/developerguide/indexing_search.html
@option params [required, String] :directory_arn
The ARN of the directory where the index should be created.
@option params [required, Array<Types::AttributeKey>] :ordered_indexed_attribute_list
Specifies the attributes that should be indexed on. Currently only a single attribute is supported.
@option params [required, Boolean] :is_unique
Indicates whether the attribute that is being indexed has unique values or not.
@option params [Types::ObjectReference] :parent_reference
A reference to the parent object that contains the index object.
@option params [String] :link_name
The name of the link between the parent object and the index object.
@return [Types::CreateIndexResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::CreateIndexResponse#object_identifier #object_identifier} => String
@example 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", })
@example Response structure
resp.object_identifier #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/CreateIndex AWS API Documentation
@overload create_index
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 1490 def create_index(params = {}, options = {}) req = build_request(:create_index, params) req.send_request(options) end
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.
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) that is associated with the Directory in which the object will be created. For more information, see arns.
@option params [required, Array<Types::SchemaFacet>] :schema_facets
A list of schema facets to be associated with the object. Do not provide minor version components. See SchemaFacet for details.
@option params [Array<Types::AttributeKeyAndValue>] :object_attribute_list
The attribute map whose attribute ARN contains the key and attribute value as the map value.
@option params [Types::ObjectReference] :parent_reference
If specified, the parent reference to which this object will be attached.
@option params [String] :link_name
The name of link that is used to attach this object to a parent.
@return [Types::CreateObjectResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::CreateObjectResponse#object_identifier #object_identifier} => String
@example 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", })
@example Response structure
resp.object_identifier #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/CreateObject AWS API Documentation
@overload create_object
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 1564 def create_object(params = {}, options = {}) req = build_request(:create_object, params) req.send_request(options) end
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.
@option params [required, String] :name
The name that is associated with the schema. This is unique to each account and in each region.
@return [Types::CreateSchemaResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::CreateSchemaResponse#schema_arn #schema_arn} => String
@example Request syntax with placeholder values
resp = client.create_schema({ name: "SchemaName", # required })
@example Response structure
resp.schema_arn #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/CreateSchema AWS API Documentation
@overload create_schema
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 1606 def create_schema(params = {}, options = {}) req = build_request(:create_schema, params) req.send_request(options) end
Creates a TypedLinkFacet. For more information, see [Typed Links].
@option params [required, String] :schema_arn
The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.
@option params [required, Types::TypedLinkFacet] :facet
Facet structure that is associated with the typed link facet.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example 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 }, })
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/CreateTypedLinkFacet AWS API Documentation
@overload create_typed_link_facet
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 1663 def create_typed_link_facet(params = {}, options = {}) req = build_request(:create_typed_link_facet, params) req.send_request(options) end
Deletes a directory. Only disabled directories can be deleted. A deleted directory cannot be undone. Exercise extreme caution when deleting directories.
@option params [required, String] :directory_arn
The ARN of the directory to delete.
@return [Types::DeleteDirectoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::DeleteDirectoryResponse#directory_arn #directory_arn} => String
@example Request syntax with placeholder values
resp = client.delete_directory({ directory_arn: "Arn", # required })
@example Response structure
resp.directory_arn #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/DeleteDirectory AWS API Documentation
@overload delete_directory
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 1693 def delete_directory(params = {}, options = {}) req = build_request(:delete_directory, params) req.send_request(options) end
Deletes a given Facet. All attributes and Rules that are associated with the facet will be deleted. Only development schema facets are allowed deletion.
@option params [required, String] :schema_arn
The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns.
@option params [required, String] :name
The name of the facet to delete.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example Request syntax with placeholder values
resp = client.delete_facet({ schema_arn: "Arn", # required name: "FacetName", # required })
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/DeleteFacet AWS API Documentation
@overload delete_facet
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 1722 def delete_facet(params = {}, options = {}) req = build_request(:delete_facet, params) req.send_request(options) end
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].
[1]: docs.aws.amazon.com/clouddirectory/latest/developerguide/limits.html
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.
@option params [required, Types::ObjectReference] :object_reference
A reference that identifies the object.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example Request syntax with placeholder values
resp = client.delete_object({ directory_arn: "Arn", # required object_reference: { # required selector: "SelectorObjectReference", }, })
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/DeleteObject AWS API Documentation
@overload delete_object
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 1758 def delete_object(params = {}, options = {}) req = build_request(:delete_object, params) req.send_request(options) end
Deletes a given schema. Schemas in a development and published state can only be deleted.
@option params [required, String] :schema_arn
The Amazon Resource Name (ARN) of the development schema. For more information, see arns.
@return [Types::DeleteSchemaResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::DeleteSchemaResponse#schema_arn #schema_arn} => String
@example Request syntax with placeholder values
resp = client.delete_schema({ schema_arn: "Arn", # required })
@example Response structure
resp.schema_arn #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/DeleteSchema AWS API Documentation
@overload delete_schema
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 1788 def delete_schema(params = {}, options = {}) req = build_request(:delete_schema, params) req.send_request(options) end
Deletes a TypedLinkFacet. For more information, see [Typed Links].
@option params [required, String] :schema_arn
The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.
@option params [required, String] :name
The unique name of the typed link facet.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example Request syntax with placeholder values
resp = client.delete_typed_link_facet({ schema_arn: "Arn", # required name: "TypedLinkName", # required })
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/DeleteTypedLinkFacet AWS API Documentation
@overload delete_typed_link_facet
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 1819 def delete_typed_link_facet(params = {}, options = {}) req = build_request(:delete_typed_link_facet, params) req.send_request(options) end
Detaches the specified object from the specified index.
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) of the directory the index and object exist in.
@option params [required, Types::ObjectReference] :index_reference
A reference to the index object.
@option params [required, Types::ObjectReference] :target_reference
A reference to the object being detached from the index.
@return [Types::DetachFromIndexResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::DetachFromIndexResponse#detached_object_identifier #detached_object_identifier} => String
@example Request syntax with placeholder values
resp = client.detach_from_index({ directory_arn: "Arn", # required index_reference: { # required selector: "SelectorObjectReference", }, target_reference: { # required selector: "SelectorObjectReference", }, })
@example Response structure
resp.detached_object_identifier #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/DetachFromIndex AWS API Documentation
@overload detach_from_index
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 1860 def detach_from_index(params = {}, options = {}) req = build_request(:detach_from_index, params) req.send_request(options) end
Detaches a given object from the parent object. The object that is to be detached from the parent is specified by the link name.
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.
@option params [required, Types::ObjectReference] :parent_reference
The parent reference from which the object with the specified link name is detached.
@option params [required, String] :link_name
The link name associated with the object that needs to be detached.
@return [Types::DetachObjectResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::DetachObjectResponse#detached_object_identifier #detached_object_identifier} => String
@example Request syntax with placeholder values
resp = client.detach_object({ directory_arn: "Arn", # required parent_reference: { # required selector: "SelectorObjectReference", }, link_name: "LinkName", # required })
@example Response structure
resp.detached_object_identifier #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/DetachObject AWS API Documentation
@overload detach_object
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 1901 def detach_object(params = {}, options = {}) req = build_request(:detach_object, params) req.send_request(options) end
Detaches a policy from an object.
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns.
@option params [required, Types::ObjectReference] :policy_reference
Reference that identifies the policy object.
@option params [required, Types::ObjectReference] :object_reference
Reference that identifies the object whose policy object will be detached.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example Request syntax with placeholder values
resp = client.detach_policy({ directory_arn: "Arn", # required policy_reference: { # required selector: "SelectorObjectReference", }, object_reference: { # required selector: "SelectorObjectReference", }, })
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/DetachPolicy AWS API Documentation
@overload detach_policy
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 1937 def detach_policy(params = {}, options = {}) req = build_request(:detach_policy, params) req.send_request(options) end
Detaches a typed link from a specified source and target object. For more information, see [Typed Links].
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) of the directory where you want to detach the typed link.
@option params [required, Types::TypedLinkSpecifier] :typed_link_specifier
Used to accept a typed link specifier as input.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example 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, }, }, ], }, })
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/DetachTypedLink AWS API Documentation
@overload detach_typed_link
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 1992 def detach_typed_link(params = {}, options = {}) req = build_request(:detach_typed_link, params) req.send_request(options) end
Disables the specified directory. Disabled directories cannot be read or written to. Only enabled directories can be disabled. Disabled directories may be reenabled.
@option params [required, String] :directory_arn
The ARN of the directory to disable.
@return [Types::DisableDirectoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::DisableDirectoryResponse#directory_arn #directory_arn} => String
@example Request syntax with placeholder values
resp = client.disable_directory({ directory_arn: "Arn", # required })
@example Response structure
resp.directory_arn #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/DisableDirectory AWS API Documentation
@overload disable_directory
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 2022 def disable_directory(params = {}, options = {}) req = build_request(:disable_directory, params) req.send_request(options) end
Enables the specified directory. Only disabled directories can be enabled. Once enabled, the directory can then be read and written to.
@option params [required, String] :directory_arn
The ARN of the directory to enable.
@return [Types::EnableDirectoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::EnableDirectoryResponse#directory_arn #directory_arn} => String
@example Request syntax with placeholder values
resp = client.enable_directory({ directory_arn: "Arn", # required })
@example Response structure
resp.directory_arn #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/EnableDirectory AWS API Documentation
@overload enable_directory
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 2051 def enable_directory(params = {}, options = {}) req = build_request(:enable_directory, params) req.send_request(options) end
Returns current applied schema version ARN, including the minor version in use.
@option params [required, String] :schema_arn
The ARN of the applied schema.
@return [Types::GetAppliedSchemaVersionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::GetAppliedSchemaVersionResponse#applied_schema_arn #applied_schema_arn} => String
@example Request syntax with placeholder values
resp = client.get_applied_schema_version({ schema_arn: "Arn", # required })
@example Response structure
resp.applied_schema_arn #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/GetAppliedSchemaVersion AWS API Documentation
@overload get_applied_schema_version
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 2080 def get_applied_schema_version(params = {}, options = {}) req = build_request(:get_applied_schema_version, params) req.send_request(options) end
Retrieves metadata about a directory.
@option params [required, String] :directory_arn
The ARN of the directory.
@return [Types::GetDirectoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::GetDirectoryResponse#directory #directory} => Types::Directory
@example Request syntax with placeholder values
resp = client.get_directory({ directory_arn: "DirectoryArn", # required })
@example 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
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/GetDirectory AWS API Documentation
@overload get_directory
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 2111 def get_directory(params = {}, options = {}) req = build_request(:get_directory, params) req.send_request(options) end
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.
@option params [required, String] :schema_arn
The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns.
@option params [required, String] :name
The name of the facet to retrieve.
@return [Types::GetFacetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::GetFacetResponse#facet #facet} => Types::Facet
@example Request syntax with placeholder values
resp = client.get_facet({ schema_arn: "Arn", # required name: "FacetName", # required })
@example 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"
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/GetFacet AWS API Documentation
@overload get_facet
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 2148 def get_facet(params = {}, options = {}) req = build_request(:get_facet, params) req.send_request(options) end
Retrieves attributes that are associated with a typed link.
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) that is associated with the Directory where the typed link resides. For more information, see arns or [Typed Links][1]. [1]: https://docs.aws.amazon.com/clouddirectory/latest/developerguide/directory_objects_links.html#directory_objects_links_typedlink
@option params [required, Types::TypedLinkSpecifier] :typed_link_specifier
Allows a typed link specifier to be accepted as input.
@option params [required, Array<String>] :attribute_names
A list of attribute names whose values will be retrieved.
@option params [String] :consistency_level
The consistency level at which to retrieve the attributes on a typed link.
@return [Types::GetLinkAttributesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::GetLinkAttributesResponse#attributes #attributes} => Array<Types::AttributeKeyAndValue>
@example 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 })
@example 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
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/GetLinkAttributes AWS API Documentation
@overload get_link_attributes
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 2226 def get_link_attributes(params = {}, options = {}) req = build_request(:get_link_attributes, params) req.send_request(options) end
Retrieves attributes within a facet that are associated with an object.
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) that is associated with the Directory where the object resides.
@option params [required, Types::ObjectReference] :object_reference
Reference that identifies the object whose attributes will be retrieved.
@option params [String] :consistency_level
The consistency level at which to retrieve the attributes on an object.
@option params [required, Types::SchemaFacet] :schema_facet
Identifier for the facet whose attributes will be retrieved. See SchemaFacet for details.
@option params [required, Array<String>] :attribute_names
List of attribute names whose values will be retrieved.
@return [Types::GetObjectAttributesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::GetObjectAttributesResponse#attributes #attributes} => Array<Types::AttributeKeyAndValue>
@example 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 })
@example 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
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/GetObjectAttributes AWS API Documentation
@overload get_object_attributes
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 2288 def get_object_attributes(params = {}, options = {}) req = build_request(:get_object_attributes, params) req.send_request(options) end
Retrieves metadata about an object.
@option params [required, String] :directory_arn
The ARN of the directory being retrieved.
@option params [required, Types::ObjectReference] :object_reference
A reference to the object.
@option params [String] :consistency_level
The consistency level at which to retrieve the object information.
@return [Types::GetObjectInformationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::GetObjectInformationResponse#schema_facets #schema_facets} => Array<Types::SchemaFacet> * {Types::GetObjectInformationResponse#object_identifier #object_identifier} => String
@example 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 })
@example Response structure
resp.schema_facets #=> Array resp.schema_facets[0].schema_arn #=> String resp.schema_facets[0].facet_name #=> String resp.object_identifier #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/GetObjectInformation AWS API Documentation
@overload get_object_information
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 2330 def get_object_information(params = {}, options = {}) req = build_request(:get_object_information, params) req.send_request(options) end
Retrieves a JSON representation of the schema. See [JSON Schema Format] for more information.
[1]: docs.aws.amazon.com/clouddirectory/latest/developerguide/schemas_jsonformat.html#schemas_json
@option params [required, String] :schema_arn
The ARN of the schema to retrieve.
@return [Types::GetSchemaAsJsonResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::GetSchemaAsJsonResponse#name #name} => String * {Types::GetSchemaAsJsonResponse#document #document} => String
@example Request syntax with placeholder values
resp = client.get_schema_as_json({ schema_arn: "Arn", # required })
@example Response structure
resp.name #=> String resp.document #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/GetSchemaAsJson AWS API Documentation
@overload get_schema_as_json
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 2365 def get_schema_as_json(params = {}, options = {}) req = build_request(:get_schema_as_json, params) req.send_request(options) end
Returns the identity attribute order for a specific TypedLinkFacet. For more information, see [Typed Links].
@option params [required, String] :schema_arn
The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.
@option params [required, String] :name
The unique name of the typed link facet.
@return [Types::GetTypedLinkFacetInformationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::GetTypedLinkFacetInformationResponse#identity_attribute_order #identity_attribute_order} => Array<String>
@example Request syntax with placeholder values
resp = client.get_typed_link_facet_information({ schema_arn: "Arn", # required name: "TypedLinkName", # required })
@example Response structure
resp.identity_attribute_order #=> Array resp.identity_attribute_order[0] #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/GetTypedLinkFacetInformation AWS API Documentation
@overload get_typed_link_facet_information
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 2404 def get_typed_link_facet_information(params = {}, options = {}) req = build_request(:get_typed_link_facet_information, params) req.send_request(options) end
Lists schema major versions applied to a directory. If `SchemaArn` is provided, lists the minor version.
@option params [required, String] :directory_arn
The ARN of the directory you are listing.
@option params [String] :schema_arn
The response for `ListAppliedSchemaArns` when this parameter is used will list all minor version ARNs for a major version.
@option params [String] :next_token
The pagination token.
@option params [Integer] :max_results
The maximum number of results to retrieve.
@return [Types::ListAppliedSchemaArnsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::ListAppliedSchemaArnsResponse#schema_arns #schema_arns} => Array<String> * {Types::ListAppliedSchemaArnsResponse#next_token #next_token} => String
The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
@example Request syntax with placeholder values
resp = client.list_applied_schema_arns({ directory_arn: "Arn", # required schema_arn: "Arn", next_token: "NextToken", max_results: 1, })
@example Response structure
resp.schema_arns #=> Array resp.schema_arns[0] #=> String resp.next_token #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/ListAppliedSchemaArns AWS API Documentation
@overload list_applied_schema_arns
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 2451 def list_applied_schema_arns(params = {}, options = {}) req = build_request(:list_applied_schema_arns, params) req.send_request(options) end
Lists indices attached to the specified object.
@option params [required, String] :directory_arn
The ARN of the directory.
@option params [required, Types::ObjectReference] :target_reference
A reference to the object that has indices attached.
@option params [String] :next_token
The pagination token.
@option params [Integer] :max_results
The maximum number of results to retrieve.
@option params [String] :consistency_level
The consistency level to use for this operation.
@return [Types::ListAttachedIndicesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::ListAttachedIndicesResponse#index_attachments #index_attachments} => Array<Types::IndexAttachment> * {Types::ListAttachedIndicesResponse#next_token #next_token} => String
The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
@example 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 })
@example 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
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/ListAttachedIndices AWS API Documentation
@overload list_attached_indices
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 2511 def list_attached_indices(params = {}, options = {}) req = build_request(:list_attached_indices, params) req.send_request(options) end
Retrieves each Amazon Resource
Name (ARN) of schemas in the development state.
@option params [String] :next_token
The pagination token.
@option params [Integer] :max_results
The maximum number of results to retrieve.
@return [Types::ListDevelopmentSchemaArnsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::ListDevelopmentSchemaArnsResponse#schema_arns #schema_arns} => Array<String> * {Types::ListDevelopmentSchemaArnsResponse#next_token #next_token} => String
The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
@example Request syntax with placeholder values
resp = client.list_development_schema_arns({ next_token: "NextToken", max_results: 1, })
@example Response structure
resp.schema_arns #=> Array resp.schema_arns[0] #=> String resp.next_token #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/ListDevelopmentSchemaArns AWS API Documentation
@overload list_development_schema_arns
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 2549 def list_development_schema_arns(params = {}, options = {}) req = build_request(:list_development_schema_arns, params) req.send_request(options) end
Lists directories created within an account.
@option params [String] :next_token
The pagination token.
@option params [Integer] :max_results
The maximum number of results to retrieve.
@option params [String] :state
The state of the directories in the list. Can be either Enabled, Disabled, or Deleted.
@return [Types::ListDirectoriesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::ListDirectoriesResponse#directories #directories} => Array<Types::Directory> * {Types::ListDirectoriesResponse#next_token #next_token} => String
The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
@example Request syntax with placeholder values
resp = client.list_directories({ next_token: "NextToken", max_results: 1, state: "ENABLED", # accepts ENABLED, DISABLED, DELETED })
@example 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
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/ListDirectories AWS API Documentation
@overload list_directories
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 2594 def list_directories(params = {}, options = {}) req = build_request(:list_directories, params) req.send_request(options) end
Retrieves attributes attached to the facet.
@option params [required, String] :schema_arn
The ARN of the schema where the facet resides.
@option params [required, String] :name
The name of the facet whose attributes will be retrieved.
@option params [String] :next_token
The pagination token.
@option params [Integer] :max_results
The maximum number of results to retrieve.
@return [Types::ListFacetAttributesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::ListFacetAttributesResponse#attributes #attributes} => Array<Types::FacetAttribute> * {Types::ListFacetAttributesResponse#next_token #next_token} => String
The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
@example Request syntax with placeholder values
resp = client.list_facet_attributes({ schema_arn: "Arn", # required name: "FacetName", # required next_token: "NextToken", max_results: 1, })
@example 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
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/ListFacetAttributes AWS API Documentation
@overload list_facet_attributes
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 2653 def list_facet_attributes(params = {}, options = {}) req = build_request(:list_facet_attributes, params) req.send_request(options) end
Retrieves the names of facets that exist in a schema.
@option params [required, String] :schema_arn
The Amazon Resource Name (ARN) to retrieve facet names from.
@option params [String] :next_token
The pagination token.
@option params [Integer] :max_results
The maximum number of results to retrieve.
@return [Types::ListFacetNamesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::ListFacetNamesResponse#facet_names #facet_names} => Array<String> * {Types::ListFacetNamesResponse#next_token #next_token} => String
The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
@example Request syntax with placeholder values
resp = client.list_facet_names({ schema_arn: "Arn", # required next_token: "NextToken", max_results: 1, })
@example Response structure
resp.facet_names #=> Array resp.facet_names[0] #=> String resp.next_token #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/ListFacetNames AWS API Documentation
@overload list_facet_names
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 2694 def list_facet_names(params = {}, options = {}) req = build_request(:list_facet_names, params) req.send_request(options) end
Returns a paginated list of all the incoming TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see [Typed Links].
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) of the directory where you want to list the typed links.
@option params [required, Types::ObjectReference] :object_reference
Reference that identifies the object whose attributes will be listed.
@option params [Array<Types::TypedLinkAttributeRange>] :filter_attribute_ranges
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.
@option params [Types::TypedLinkSchemaAndFacetName] :filter_typed_link
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.
@option params [String] :next_token
The pagination token.
@option params [Integer] :max_results
The maximum number of results to retrieve.
@option params [String] :consistency_level
The consistency level to execute the request at.
@return [Types::ListIncomingTypedLinksResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::ListIncomingTypedLinksResponse#link_specifiers #link_specifiers} => Array<Types::TypedLinkSpecifier> * {Types::ListIncomingTypedLinksResponse#next_token #next_token} => String
@example 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 })
@example 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
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/ListIncomingTypedLinks AWS API Documentation
@overload list_incoming_typed_links
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 2798 def list_incoming_typed_links(params = {}, options = {}) req = build_request(:list_incoming_typed_links, params) req.send_request(options) end
Lists objects attached to the specified index.
@option params [required, String] :directory_arn
The ARN of the directory that the index exists in.
@option params [Array<Types::ObjectAttributeRange>] :ranges_on_indexed_values
Specifies the ranges of indexed values that you want to query.
@option params [required, Types::ObjectReference] :index_reference
The reference to the index to list.
@option params [Integer] :max_results
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][1]. [1]: http://docs.aws.amazon.com/clouddirectory/latest/developerguide/limits.html
@option params [String] :next_token
The pagination token.
@option params [String] :consistency_level
The consistency level to execute the request at.
@return [Types::ListIndexResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::ListIndexResponse#index_attachments #index_attachments} => Array<Types::IndexAttachment> * {Types::ListIndexResponse#next_token #next_token} => String
The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
@example 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 })
@example 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
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/ListIndex AWS API Documentation
@overload list_index
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 2894 def list_index(params = {}, options = {}) req = build_request(:list_index, params) req.send_request(options) end
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.
@option params [String] :schema_arn
The response for ListManagedSchemaArns. When this parameter is used, all minor version ARNs for a major version are listed.
@option params [String] :next_token
The pagination token.
@option params [Integer] :max_results
The maximum number of results to retrieve.
@return [Types::ListManagedSchemaArnsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::ListManagedSchemaArnsResponse#schema_arns #schema_arns} => Array<String> * {Types::ListManagedSchemaArnsResponse#next_token #next_token} => String
The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
@example Request syntax with placeholder values
resp = client.list_managed_schema_arns({ schema_arn: "Arn", next_token: "NextToken", max_results: 1, })
@example Response structure
resp.schema_arns #=> Array resp.schema_arns[0] #=> String resp.next_token #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/ListManagedSchemaArns AWS API Documentation
@overload list_managed_schema_arns
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 2938 def list_managed_schema_arns(params = {}, options = {}) req = build_request(:list_managed_schema_arns, params) req.send_request(options) end
Lists all attributes that are associated with an object.
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.
@option params [required, Types::ObjectReference] :object_reference
The reference that identifies the object whose attributes will be listed.
@option params [String] :next_token
The pagination token.
@option params [Integer] :max_results
The maximum number of items to be retrieved in a single call. This is an approximate number.
@option params [String] :consistency_level
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.
@option params [Types::SchemaFacet] :facet_filter
Used to filter the list of object attributes that are associated with a certain facet.
@return [Types::ListObjectAttributesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::ListObjectAttributesResponse#attributes #attributes} => Array<Types::AttributeKeyAndValue> * {Types::ListObjectAttributesResponse#next_token #next_token} => String
The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
@example 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", }, })
@example 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
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/ListObjectAttributes AWS API Documentation
@overload list_object_attributes
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 3009 def list_object_attributes(params = {}, options = {}) req = build_request(:list_object_attributes, params) req.send_request(options) end
Returns a paginated list of child objects that are associated with a given object.
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.
@option params [required, Types::ObjectReference] :object_reference
The reference that identifies the object for which child objects are being listed.
@option params [String] :next_token
The pagination token.
@option params [Integer] :max_results
The maximum number of items to be retrieved in a single call. This is an approximate number.
@option params [String] :consistency_level
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.
@return [Types::ListObjectChildrenResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::ListObjectChildrenResponse#children #children} => Hash<String,String> * {Types::ListObjectChildrenResponse#next_token #next_token} => String
The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
@example 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 })
@example Response structure
resp.children #=> Hash resp.children["LinkName"] #=> String resp.next_token #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/ListObjectChildren AWS API Documentation
@overload list_object_children
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 3066 def list_object_children(params = {}, options = {}) req = build_request(:list_object_children, params) req.send_request(options) end
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.
[1]: docs.aws.amazon.com/clouddirectory/latest/developerguide/key_concepts_directorystructure.html
@option params [required, String] :directory_arn
The ARN of the directory to which the parent path applies.
@option params [required, Types::ObjectReference] :object_reference
The reference that identifies the object whose parent paths are listed.
@option params [String] :next_token
The pagination token.
@option params [Integer] :max_results
The maximum number of items to be retrieved in a single call. This is an approximate number.
@return [Types::ListObjectParentPathsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::ListObjectParentPathsResponse#path_to_object_identifiers_list #path_to_object_identifiers_list} => Array<Types::PathToObjectIdentifiers> * {Types::ListObjectParentPathsResponse#next_token #next_token} => String
The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
@example 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, })
@example 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
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/ListObjectParentPaths AWS API Documentation
@overload list_object_parent_paths
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 3131 def list_object_parent_paths(params = {}, options = {}) req = build_request(:list_object_parent_paths, params) req.send_request(options) end
Lists parent objects that are associated with a given object in pagination fashion.
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.
@option params [required, Types::ObjectReference] :object_reference
The reference that identifies the object for which parent objects are being listed.
@option params [String] :next_token
The pagination token.
@option params [Integer] :max_results
The maximum number of items to be retrieved in a single call. This is an approximate number.
@option params [String] :consistency_level
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.
@option params [Boolean] :include_all_links_to_each_parent
When set to True, returns all ListObjectParentsResponse$ParentLinks. There could be multiple links between a parent-child pair.
@return [Types::ListObjectParentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::ListObjectParentsResponse#parents #parents} => Hash<String,String> * {Types::ListObjectParentsResponse#next_token #next_token} => String * {Types::ListObjectParentsResponse#parent_links #parent_links} => Array<Types::ObjectIdentifierAndLinkNameTuple>
The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
@example 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, })
@example 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
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/ListObjectParents AWS API Documentation
@overload list_object_parents
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 3197 def list_object_parents(params = {}, options = {}) req = build_request(:list_object_parents, params) req.send_request(options) end
Returns policies attached to an object in pagination fashion.
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.
@option params [required, Types::ObjectReference] :object_reference
Reference that identifies the object for which policies will be listed.
@option params [String] :next_token
The pagination token.
@option params [Integer] :max_results
The maximum number of items to be retrieved in a single call. This is an approximate number.
@option params [String] :consistency_level
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.
@return [Types::ListObjectPoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::ListObjectPoliciesResponse#attached_policy_ids #attached_policy_ids} => Array<String> * {Types::ListObjectPoliciesResponse#next_token #next_token} => String
The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
@example 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 })
@example Response structure
resp.attached_policy_ids #=> Array resp.attached_policy_ids[0] #=> String resp.next_token #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/ListObjectPolicies AWS API Documentation
@overload list_object_policies
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 3253 def list_object_policies(params = {}, options = {}) req = build_request(:list_object_policies, params) req.send_request(options) end
Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see [Typed Links].
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) of the directory where you want to list the typed links.
@option params [required, Types::ObjectReference] :object_reference
A reference that identifies the object whose attributes will be listed.
@option params [Array<Types::TypedLinkAttributeRange>] :filter_attribute_ranges
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.
@option params [Types::TypedLinkSchemaAndFacetName] :filter_typed_link
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.
@option params [String] :next_token
The pagination token.
@option params [Integer] :max_results
The maximum number of results to retrieve.
@option params [String] :consistency_level
The consistency level to execute the request at.
@return [Types::ListOutgoingTypedLinksResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::ListOutgoingTypedLinksResponse#typed_link_specifiers #typed_link_specifiers} => Array<Types::TypedLinkSpecifier> * {Types::ListOutgoingTypedLinksResponse#next_token #next_token} => String
@example 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 })
@example 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
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/ListOutgoingTypedLinks AWS API Documentation
@overload list_outgoing_typed_links
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 3358 def list_outgoing_typed_links(params = {}, options = {}) req = build_request(:list_outgoing_typed_links, params) req.send_request(options) end
Returns all of the `ObjectIdentifiers` to which a given policy is attached.
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.
@option params [required, Types::ObjectReference] :policy_reference
The reference that identifies the policy object.
@option params [String] :next_token
The pagination token.
@option params [Integer] :max_results
The maximum number of items to be retrieved in a single call. This is an approximate number.
@option params [String] :consistency_level
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.
@return [Types::ListPolicyAttachmentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::ListPolicyAttachmentsResponse#object_identifiers #object_identifiers} => Array<String> * {Types::ListPolicyAttachmentsResponse#next_token #next_token} => String
The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
@example 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 })
@example Response structure
resp.object_identifiers #=> Array resp.object_identifiers[0] #=> String resp.next_token #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/ListPolicyAttachments AWS API Documentation
@overload list_policy_attachments
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 3414 def list_policy_attachments(params = {}, options = {}) req = build_request(:list_policy_attachments, params) req.send_request(options) end
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.
@option params [String] :schema_arn
The response for `ListPublishedSchemaArns` when this parameter is used will list all minor version ARNs for a major version.
@option params [String] :next_token
The pagination token.
@option params [Integer] :max_results
The maximum number of results to retrieve.
@return [Types::ListPublishedSchemaArnsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::ListPublishedSchemaArnsResponse#schema_arns #schema_arns} => Array<String> * {Types::ListPublishedSchemaArnsResponse#next_token #next_token} => String
The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
@example Request syntax with placeholder values
resp = client.list_published_schema_arns({ schema_arn: "Arn", next_token: "NextToken", max_results: 1, })
@example Response structure
resp.schema_arns #=> Array resp.schema_arns[0] #=> String resp.next_token #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/ListPublishedSchemaArns AWS API Documentation
@overload list_published_schema_arns
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 3458 def list_published_schema_arns(params = {}, options = {}) req = build_request(:list_published_schema_arns, params) req.send_request(options) end
Returns a paginated list of all attribute definitions for a particular TypedLinkFacet. For more information, see [Typed Links].
@option params [required, String] :schema_arn
The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.
@option params [required, String] :name
The unique name of the typed link facet.
@option params [String] :next_token
The pagination token.
@option params [Integer] :max_results
The maximum number of results to retrieve.
@return [Types::ListTypedLinkFacetAttributesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::ListTypedLinkFacetAttributesResponse#attributes #attributes} => Array<Types::TypedLinkAttributeDefinition> * {Types::ListTypedLinkFacetAttributesResponse#next_token #next_token} => String
The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
@example 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, })
@example 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
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/ListTypedLinkFacetAttributes AWS API Documentation
@overload list_typed_link_facet_attributes
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 3569 def list_typed_link_facet_attributes(params = {}, options = {}) req = build_request(:list_typed_link_facet_attributes, params) req.send_request(options) end
Returns a paginated list of `TypedLink` facet names for a particular schema. For more information, see [Typed Links].
@option params [required, String] :schema_arn
The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.
@option params [String] :next_token
The pagination token.
@option params [Integer] :max_results
The maximum number of results to retrieve.
@return [Types::ListTypedLinkFacetNamesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::ListTypedLinkFacetNamesResponse#facet_names #facet_names} => Array<String> * {Types::ListTypedLinkFacetNamesResponse#next_token #next_token} => String
The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
@example Request syntax with placeholder values
resp = client.list_typed_link_facet_names({ schema_arn: "Arn", # required next_token: "NextToken", max_results: 1, })
@example Response structure
resp.facet_names #=> Array resp.facet_names[0] #=> String resp.next_token #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/ListTypedLinkFacetNames AWS API Documentation
@overload list_typed_link_facet_names
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 3616 def list_typed_link_facet_names(params = {}, options = {}) req = build_request(:list_typed_link_facet_names, params) req.send_request(options) end
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].
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns.
@option params [required, Types::ObjectReference] :object_reference
Reference that identifies the object whose policies will be looked up.
@option params [String] :next_token
The token to request the next page of results.
@option params [Integer] :max_results
The maximum number of items to be retrieved in a single call. This is an approximate number.
@return [Types::LookupPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::LookupPolicyResponse#policy_to_path_list #policy_to_path_list} => Array<Types::PolicyToPath> * {Types::LookupPolicyResponse#next_token #next_token} => String
The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
@example Request syntax with placeholder values
resp = client.lookup_policy({ directory_arn: "Arn", # required object_reference: { # required selector: "SelectorObjectReference", }, next_token: "NextToken", max_results: 1, })
@example 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
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/LookupPolicy AWS API Documentation
@overload lookup_policy
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 3679 def lookup_policy(params = {}, options = {}) req = build_request(:lookup_policy, params) req.send_request(options) end
Publishes a development schema with a major version and a recommended minor version.
@option params [required, String] :development_schema_arn
The Amazon Resource Name (ARN) that is associated with the development schema. For more information, see arns.
@option params [required, String] :version
The major version under which the schema will be published. Schemas have both a major and minor version associated with them.
@option params [String] :minor_version
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.
@option params [String] :name
The new name under which the schema will be published. If this is not provided, the development schema is considered.
@return [Types::PublishSchemaResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::PublishSchemaResponse#published_schema_arn #published_schema_arn} => String
@example Request syntax with placeholder values
resp = client.publish_schema({ development_schema_arn: "Arn", # required version: "Version", # required minor_version: "Version", name: "SchemaName", })
@example Response structure
resp.published_schema_arn #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/PublishSchema AWS API Documentation
@overload publish_schema
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 3725 def publish_schema(params = {}, options = {}) req = build_request(:publish_schema, params) req.send_request(options) end
Allows a schema to be updated using JSON upload. Only available for development schemas. See [JSON Schema Format] for more information.
[1]: docs.aws.amazon.com/clouddirectory/latest/developerguide/schemas_jsonformat.html#schemas_json
@option params [required, String] :schema_arn
The ARN of the schema to update.
@option params [required, String] :document
The replacement JSON schema.
@return [Types::PutSchemaFromJsonResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::PutSchemaFromJsonResponse#arn #arn} => String
@example Request syntax with placeholder values
resp = client.put_schema_from_json({ schema_arn: "Arn", # required document: "SchemaJsonDocument", # required })
@example Response structure
resp.arn #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/PutSchemaFromJson AWS API Documentation
@overload put_schema_from_json
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 3762 def put_schema_from_json(params = {}, options = {}) req = build_request(:put_schema_from_json, params) req.send_request(options) end
Removes the specified facet from the specified object.
@option params [required, String] :directory_arn
The ARN of the directory in which the object resides.
@option params [required, Types::SchemaFacet] :schema_facet
The facet to remove. See SchemaFacet for details.
@option params [required, Types::ObjectReference] :object_reference
A reference to the object to remove the facet from.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example 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", }, })
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/RemoveFacetFromObject AWS API Documentation
@overload remove_facet_from_object
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 3797 def remove_facet_from_object(params = {}, options = {}) req = build_request(:remove_facet_from_object, params) req.send_request(options) end
An API operation for adding tags to a resource.
@option params [required, String] :resource_arn
The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.
@option params [required, Array<Types::Tag>] :tags
A list of tag key-value pairs.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example Request syntax with placeholder values
resp = client.tag_resource({ resource_arn: "Arn", # required tags: [ # required { key: "TagKey", value: "TagValue", }, ], })
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/TagResource AWS API Documentation
@overload tag_resource
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 3829 def tag_resource(params = {}, options = {}) req = build_request(:tag_resource, params) req.send_request(options) end
An API operation for removing tags from a resource.
@option params [required, String] :resource_arn
The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.
@option params [required, Array<String>] :tag_keys
Keys of the tag that need to be removed from the resource.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example Request syntax with placeholder values
resp = client.untag_resource({ resource_arn: "Arn", # required tag_keys: ["TagKey"], # required })
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/UntagResource AWS API Documentation
@overload untag_resource
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 3856 def untag_resource(params = {}, options = {}) req = build_request(:untag_resource, params) req.send_request(options) end
Does the following:
-
Adds new `Attributes`, `Rules`, or `ObjectTypes`.
-
Updates existing `Attributes`, `Rules`, or `ObjectTypes`.
-
Deletes existing `Attributes`, `Rules`, or `ObjectTypes`.
@option params [required, String] :schema_arn
The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns.
@option params [required, String] :name
The name of the facet.
@option params [Array<Types::FacetAttributeUpdate>] :attribute_updates
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.
@option params [String] :object_type
The object type that is associated with the facet. See CreateFacetRequest$ObjectType for more details.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example 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 })
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/UpdateFacet AWS API Documentation
@overload update_facet
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 3931 def update_facet(params = {}, options = {}) req = build_request(:update_facet, params) req.send_request(options) end
Updates a given typed link’s attributes. Attributes to be updated must not contribute to the typed link’s identity, as defined by its `IdentityAttributeOrder`.
@option params [required, String] :directory_arn
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][1]. [1]: https://docs.aws.amazon.com/clouddirectory/latest/developerguide/directory_objects_links.html#directory_objects_links_typedlink
@option params [required, Types::TypedLinkSpecifier] :typed_link_specifier
Allows a typed link specifier to be accepted as input.
@option params [required, Array<Types::LinkAttributeUpdate>] :attribute_updates
The attributes update structure.
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example 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, }, }, }, ], })
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/UpdateLinkAttributes AWS API Documentation
@overload update_link_attributes
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 4010 def update_link_attributes(params = {}, options = {}) req = build_request(:update_link_attributes, params) req.send_request(options) end
Updates a given object's attributes.
@option params [required, String] :directory_arn
The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.
@option params [required, Types::ObjectReference] :object_reference
The reference that identifies the object.
@option params [required, Array<Types::ObjectAttributeUpdate>] :attribute_updates
The attributes update structure.
@return [Types::UpdateObjectAttributesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::UpdateObjectAttributesResponse#object_identifier #object_identifier} => String
@example 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, }, }, }, ], })
@example Response structure
resp.object_identifier #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/UpdateObjectAttributes AWS API Documentation
@overload update_object_attributes
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 4067 def update_object_attributes(params = {}, options = {}) req = build_request(:update_object_attributes, params) req.send_request(options) end
Updates the schema name with a new name. Only development schema names can be updated.
@option params [required, String] :schema_arn
The Amazon Resource Name (ARN) of the development schema. For more information, see arns.
@option params [required, String] :name
The name of the schema.
@return [Types::UpdateSchemaResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::UpdateSchemaResponse#schema_arn #schema_arn} => String
@example Request syntax with placeholder values
resp = client.update_schema({ schema_arn: "Arn", # required name: "SchemaName", # required })
@example Response structure
resp.schema_arn #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/UpdateSchema AWS API Documentation
@overload update_schema
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 4101 def update_schema(params = {}, options = {}) req = build_request(:update_schema, params) req.send_request(options) end
Updates a TypedLinkFacet. For more information, see [Typed Links].
@option params [required, String] :schema_arn
The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.
@option params [required, String] :name
The unique name of the typed link facet.
@option params [required, Array<Types::TypedLinkFacetAttributeUpdate>] :attribute_updates
Attributes update structure.
@option params [required, Array<String>] :identity_attribute_order
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][1]. [1]: https://docs.aws.amazon.com/clouddirectory/latest/developerguide/directory_objects_links.html#directory_objects_links_typedlink
@return [Struct] Returns an empty {Seahorse::Client::Response response}.
@example 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 })
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/UpdateTypedLinkFacet AWS API Documentation
@overload update_typed_link_facet
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 4177 def update_typed_link_facet(params = {}, options = {}) req = build_request(:update_typed_link_facet, params) req.send_request(options) end
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.
@option params [required, String] :published_schema_arn
The revision of the published schema to upgrade the directory to.
@option params [required, String] :directory_arn
The ARN for the directory to which the upgraded schema will be applied.
@option params [Boolean] :dry_run
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.
@return [Types::UpgradeAppliedSchemaResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::UpgradeAppliedSchemaResponse#upgraded_schema_arn #upgraded_schema_arn} => String * {Types::UpgradeAppliedSchemaResponse#directory_arn #directory_arn} => String
@example Request syntax with placeholder values
resp = client.upgrade_applied_schema({ published_schema_arn: "Arn", # required directory_arn: "Arn", # required dry_run: false, })
@example Response structure
resp.upgraded_schema_arn #=> String resp.directory_arn #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/UpgradeAppliedSchema AWS API Documentation
@overload upgrade_applied_schema
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 4225 def upgrade_applied_schema(params = {}, options = {}) req = build_request(:upgrade_applied_schema, params) req.send_request(options) end
Upgrades a published schema under a new minor version revision using the current contents of `DevelopmentSchemaArn`.
@option params [required, String] :development_schema_arn
The ARN of the development schema with the changes used for the upgrade.
@option params [required, String] :published_schema_arn
The ARN of the published schema to be upgraded.
@option params [required, String] :minor_version
Identifies the minor version of the published schema that will be created. This parameter is NOT optional.
@option params [Boolean] :dry_run
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.
@return [Types::UpgradePublishedSchemaResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
* {Types::UpgradePublishedSchemaResponse#upgraded_schema_arn #upgraded_schema_arn} => String
@example 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, })
@example Response structure
resp.upgraded_schema_arn #=> String
@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/UpgradePublishedSchema AWS API Documentation
@overload upgrade_published_schema
(params = {}) @param [Hash] params ({})
# File lib/aws-sdk-clouddirectory/client.rb, line 4272 def upgrade_published_schema(params = {}, options = {}) req = build_request(:upgrade_published_schema, params) req.send_request(options) end
@api private @deprecated
# File lib/aws-sdk-clouddirectory/client.rb, line 4296 def waiter_names [] end