aws-sdk-clouddirectory 1.0.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 25f9103519c0c7054689537ea703e30814550301
4
+ data.tar.gz: b3f33088d0ae5aaf48c45e78d4dde6b476ed18c0
5
+ SHA512:
6
+ metadata.gz: c3e90915fb3c841e550857e2f7c044f79e605a3036056227a21c409e98fa80f9c07c01af8de0bfef27df5ad8b64ec3ad8965caec573e6cc7a4b2dce3faef0e86
7
+ data.tar.gz: da5993475b1db893f1d7d8c36a36d0879a6cf983768c42231183502c0459b7850faf5f9c6c5a4d49aa7505e311e89f689e2dfb41ed7d38acac85a449f458fae8
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-clouddirectory/types'
12
+ require_relative 'aws-sdk-clouddirectory/client_api'
13
+ require_relative 'aws-sdk-clouddirectory/client'
14
+ require_relative 'aws-sdk-clouddirectory/errors'
15
+ require_relative 'aws-sdk-clouddirectory/resource'
16
+ require_relative 'aws-sdk-clouddirectory/customizations'
17
+
18
+ # This module provides support for Amazon CloudDirectory. This module is available in the
19
+ # `aws-sdk-clouddirectory` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from Amazon CloudDirectory all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::CloudDirectory::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::CloudDirectory
44
+
45
+ GEM_VERSION = '1.0.0.rc1'
46
+
47
+ end
@@ -0,0 +1,2464 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/signature_v4.rb'
22
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
23
+
24
+ Aws::Plugins::GlobalConfiguration.add_identifier(:clouddirectory)
25
+
26
+ module Aws::CloudDirectory
27
+ class Client < Seahorse::Client::Base
28
+
29
+ include Aws::ClientStubs
30
+
31
+ @identifier = :clouddirectory
32
+
33
+ set_api(ClientApi::API)
34
+
35
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
36
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
37
+ add_plugin(Aws::Plugins::Logging)
38
+ add_plugin(Aws::Plugins::ParamConverter)
39
+ add_plugin(Aws::Plugins::ParamValidator)
40
+ add_plugin(Aws::Plugins::UserAgent)
41
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
42
+ add_plugin(Aws::Plugins::RetryErrors)
43
+ add_plugin(Aws::Plugins::GlobalConfiguration)
44
+ add_plugin(Aws::Plugins::RegionalEndpoint)
45
+ add_plugin(Aws::Plugins::ResponsePaging)
46
+ add_plugin(Aws::Plugins::StubResponses)
47
+ add_plugin(Aws::Plugins::IdempotencyToken)
48
+ add_plugin(Aws::Plugins::SignatureV4)
49
+ add_plugin(Aws::Plugins::Protocols::RestJson)
50
+
51
+ # @option options [required, Aws::CredentialProvider] :credentials
52
+ # Your AWS credentials. This can be an instance of any one of the
53
+ # following classes:
54
+ #
55
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
56
+ # credentials.
57
+ #
58
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
59
+ # from an EC2 IMDS on an EC2 instance.
60
+ #
61
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
62
+ # shared file, such as `~/.aws/config`.
63
+ #
64
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
65
+ #
66
+ # When `:credentials` are not configured directly, the following
67
+ # locations will be searched for credentials:
68
+ #
69
+ # * `Aws.config[:credentials]`
70
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
71
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
72
+ # * `~/.aws/credentials`
73
+ # * `~/.aws/config`
74
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
75
+ # very aggressive. Construct and pass an instance of
76
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
77
+ # timeouts.
78
+ #
79
+ # @option options [required, String] :region
80
+ # The AWS region to connect to. The configured `:region` is
81
+ # used to determine the service `:endpoint`. When not passed,
82
+ # a default `:region` is search for in the following locations:
83
+ #
84
+ # * `Aws.config[:region]`
85
+ # * `ENV['AWS_REGION']`
86
+ # * `ENV['AMAZON_REGION']`
87
+ # * `ENV['AWS_DEFAULT_REGION']`
88
+ # * `~/.aws/credentials`
89
+ # * `~/.aws/config`
90
+ #
91
+ # @option options [String] :access_key_id
92
+ #
93
+ # @option options [Boolean] :convert_params (true)
94
+ # When `true`, an attempt is made to coerce request parameters into
95
+ # the required types.
96
+ #
97
+ # @option options [String] :endpoint
98
+ # The client endpoint is normally constructed from the `:region`
99
+ # option. You should only configure an `:endpoint` when connecting
100
+ # to test endpoints. This should be avalid HTTP(S) URI.
101
+ #
102
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
103
+ # The log formatter.
104
+ #
105
+ # @option options [Symbol] :log_level (:info)
106
+ # The log level to send messages to the `:logger` at.
107
+ #
108
+ # @option options [Logger] :logger
109
+ # The Logger instance to send log messages to. If this option
110
+ # is not set, logging will be disabled.
111
+ #
112
+ # @option options [String] :profile ("default")
113
+ # Used when loading credentials from the shared credentials file
114
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
115
+ #
116
+ # @option options [Integer] :retry_limit (3)
117
+ # The maximum number of times to retry failed requests. Only
118
+ # ~ 500 level server errors and certain ~ 400 level client errors
119
+ # are retried. Generally, these are throttling errors, data
120
+ # checksum errors, networking errors, timeout errors and auth
121
+ # errors from expired credentials.
122
+ #
123
+ # @option options [String] :secret_access_key
124
+ #
125
+ # @option options [String] :session_token
126
+ #
127
+ # @option options [Boolean] :stub_responses (false)
128
+ # Causes the client to return stubbed responses. By default
129
+ # fake responses are generated and returned. You can specify
130
+ # the response data to return or errors to raise by calling
131
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
132
+ #
133
+ # ** Please note ** When response stubbing is enabled, no HTTP
134
+ # requests are made, and retries are disabled.
135
+ #
136
+ # @option options [Boolean] :validate_params (true)
137
+ # When `true`, request parameters are validated before
138
+ # sending the request.
139
+ #
140
+ def initialize(*args)
141
+ super
142
+ end
143
+
144
+ # @!group API Operations
145
+
146
+ # Adds a new Facet to an object.
147
+ #
148
+ # @option params [required, String] :directory_arn
149
+ # ARN associated with the Directory where the object resides. For more
150
+ # information, see arns.
151
+ #
152
+ # @option params [required, Types::SchemaFacet] :schema_facet
153
+ # Identifiers for the facet that you are adding to the object.
154
+ #
155
+ # @option params [Array<Types::AttributeKeyAndValue>] :object_attribute_list
156
+ # Attributes on the facet you are adding to the object.
157
+ #
158
+ # @option params [required, Types::ObjectReference] :object_reference
159
+ # A reference to the object you are adding the specified facet to.
160
+ #
161
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
162
+ #
163
+ # @example Request syntax with placeholder values
164
+ #
165
+ # resp = client.add_facet_to_object({
166
+ # directory_arn: "Arn", # required
167
+ # schema_facet: { # required
168
+ # schema_arn: "Arn",
169
+ # facet_name: "FacetName",
170
+ # },
171
+ # object_attribute_list: [
172
+ # {
173
+ # key: { # required
174
+ # schema_arn: "Arn", # required
175
+ # facet_name: "FacetName", # required
176
+ # name: "AttributeName", # required
177
+ # },
178
+ # value: { # required
179
+ # string_value: "StringAttributeValue",
180
+ # binary_value: "data",
181
+ # boolean_value: false,
182
+ # number_value: "NumberAttributeValue",
183
+ # datetime_value: Time.now,
184
+ # },
185
+ # },
186
+ # ],
187
+ # object_reference: { # required
188
+ # selector: "SelectorObjectReference",
189
+ # },
190
+ # })
191
+ #
192
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/AddFacetToObject AWS API Documentation
193
+ #
194
+ # @overload add_facet_to_object(params = {})
195
+ # @param [Hash] params ({})
196
+ def add_facet_to_object(params = {}, options = {})
197
+ req = build_request(:add_facet_to_object, params)
198
+ req.send_request(options)
199
+ end
200
+
201
+ # Copies input published schema into Directory with same name and
202
+ # version as that of published schema .
203
+ #
204
+ # @option params [required, String] :published_schema_arn
205
+ # Published schema ARN that needs to be copied. For more information,
206
+ # see arns.
207
+ #
208
+ # @option params [required, String] :directory_arn
209
+ # ARN associated with the Directory into which the schema is copied. For
210
+ # more information, see arns.
211
+ #
212
+ # @return [Types::ApplySchemaResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
213
+ #
214
+ # * {Types::ApplySchemaResponse#applied_schema_arn #applied_schema_arn} => String
215
+ # * {Types::ApplySchemaResponse#directory_arn #directory_arn} => String
216
+ #
217
+ # @example Request syntax with placeholder values
218
+ #
219
+ # resp = client.apply_schema({
220
+ # published_schema_arn: "Arn", # required
221
+ # directory_arn: "Arn", # required
222
+ # })
223
+ #
224
+ # @example Response structure
225
+ #
226
+ # resp.applied_schema_arn #=> String
227
+ # resp.directory_arn #=> String
228
+ #
229
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/ApplySchema AWS API Documentation
230
+ #
231
+ # @overload apply_schema(params = {})
232
+ # @param [Hash] params ({})
233
+ def apply_schema(params = {}, options = {})
234
+ req = build_request(:apply_schema, params)
235
+ req.send_request(options)
236
+ end
237
+
238
+ # Attaches an existing object to another object. An object can be
239
+ # accessed in two ways:
240
+ #
241
+ # 1. Using the path
242
+ #
243
+ # 2. Using ObjectIdentifier
244
+ #
245
+ # @option params [required, String] :directory_arn
246
+ # ARN associated with the Directory where both objects reside. For more
247
+ # information, see arns.
248
+ #
249
+ # @option params [required, Types::ObjectReference] :parent_reference
250
+ # Parent object reference.
251
+ #
252
+ # @option params [required, Types::ObjectReference] :child_reference
253
+ # Child object reference to be attached to the object.
254
+ #
255
+ # @option params [required, String] :link_name
256
+ # Link name with which the child object is attached to the parent.
257
+ #
258
+ # @return [Types::AttachObjectResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
259
+ #
260
+ # * {Types::AttachObjectResponse#attached_object_identifier #attached_object_identifier} => String
261
+ #
262
+ # @example Request syntax with placeholder values
263
+ #
264
+ # resp = client.attach_object({
265
+ # directory_arn: "Arn", # required
266
+ # parent_reference: { # required
267
+ # selector: "SelectorObjectReference",
268
+ # },
269
+ # child_reference: { # required
270
+ # selector: "SelectorObjectReference",
271
+ # },
272
+ # link_name: "LinkName", # required
273
+ # })
274
+ #
275
+ # @example Response structure
276
+ #
277
+ # resp.attached_object_identifier #=> String
278
+ #
279
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/AttachObject AWS API Documentation
280
+ #
281
+ # @overload attach_object(params = {})
282
+ # @param [Hash] params ({})
283
+ def attach_object(params = {}, options = {})
284
+ req = build_request(:attach_object, params)
285
+ req.send_request(options)
286
+ end
287
+
288
+ # Attaches a policy object to a regular object. An object can have a
289
+ # limited number of attached policies.
290
+ #
291
+ # @option params [String] :directory_arn
292
+ # ARN associated with the Directory where both objects reside. For more
293
+ # information, see arns.
294
+ #
295
+ # @option params [required, Types::ObjectReference] :policy_reference
296
+ # Reference associated with the policy object.
297
+ #
298
+ # @option params [required, Types::ObjectReference] :object_reference
299
+ # Reference that identifies the object to which the policy will be
300
+ # attached.
301
+ #
302
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
303
+ #
304
+ # @example Request syntax with placeholder values
305
+ #
306
+ # resp = client.attach_policy({
307
+ # directory_arn: "Arn",
308
+ # policy_reference: { # required
309
+ # selector: "SelectorObjectReference",
310
+ # },
311
+ # object_reference: { # required
312
+ # selector: "SelectorObjectReference",
313
+ # },
314
+ # })
315
+ #
316
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/AttachPolicy AWS API Documentation
317
+ #
318
+ # @overload attach_policy(params = {})
319
+ # @param [Hash] params ({})
320
+ def attach_policy(params = {}, options = {})
321
+ req = build_request(:attach_policy, params)
322
+ req.send_request(options)
323
+ end
324
+
325
+ # Attaches the specified object to the specified index.
326
+ #
327
+ # @option params [required, String] :directory_arn
328
+ # The ARN of the directory where the object and index exist.
329
+ #
330
+ # @option params [required, Types::ObjectReference] :index_reference
331
+ # A reference to the index that you are attaching the object to.
332
+ #
333
+ # @option params [required, Types::ObjectReference] :target_reference
334
+ # A reference to the object that you are attaching to the index.
335
+ #
336
+ # @return [Types::AttachToIndexResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
337
+ #
338
+ # * {Types::AttachToIndexResponse#attached_object_identifier #attached_object_identifier} => String
339
+ #
340
+ # @example Request syntax with placeholder values
341
+ #
342
+ # resp = client.attach_to_index({
343
+ # directory_arn: "Arn", # required
344
+ # index_reference: { # required
345
+ # selector: "SelectorObjectReference",
346
+ # },
347
+ # target_reference: { # required
348
+ # selector: "SelectorObjectReference",
349
+ # },
350
+ # })
351
+ #
352
+ # @example Response structure
353
+ #
354
+ # resp.attached_object_identifier #=> String
355
+ #
356
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/AttachToIndex AWS API Documentation
357
+ #
358
+ # @overload attach_to_index(params = {})
359
+ # @param [Hash] params ({})
360
+ def attach_to_index(params = {}, options = {})
361
+ req = build_request(:attach_to_index, params)
362
+ req.send_request(options)
363
+ end
364
+
365
+ # Performs all the read operations in a batch.
366
+ #
367
+ # @option params [required, String] :directory_arn
368
+ # ARN associated with the Directory. For more information, see arns.
369
+ #
370
+ # @option params [required, Array<Types::BatchReadOperation>] :operations
371
+ # List of operations that are part of the batch.
372
+ #
373
+ # @option params [String] :consistency_level
374
+ # Represents the manner and timing in which the successful write or
375
+ # update of an object is reflected in a subsequent read operation of
376
+ # that same object.
377
+ #
378
+ # @return [Types::BatchReadResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
379
+ #
380
+ # * {Types::BatchReadResponse#responses #responses} => Array&lt;Types::BatchReadOperationResponse&gt;
381
+ #
382
+ # @example Request syntax with placeholder values
383
+ #
384
+ # resp = client.batch_read({
385
+ # directory_arn: "Arn", # required
386
+ # operations: [ # required
387
+ # {
388
+ # list_object_attributes: {
389
+ # object_reference: { # required
390
+ # selector: "SelectorObjectReference",
391
+ # },
392
+ # next_token: "NextToken",
393
+ # max_results: 1,
394
+ # },
395
+ # list_object_children: {
396
+ # object_reference: { # required
397
+ # selector: "SelectorObjectReference",
398
+ # },
399
+ # next_token: "NextToken",
400
+ # max_results: 1,
401
+ # },
402
+ # },
403
+ # ],
404
+ # consistency_level: "SERIALIZABLE", # accepts SERIALIZABLE, EVENTUAL
405
+ # })
406
+ #
407
+ # @example Response structure
408
+ #
409
+ # resp.responses #=> Array
410
+ # resp.responses[0].successful_response.list_object_attributes.attributes #=> Array
411
+ # resp.responses[0].successful_response.list_object_attributes.attributes[0].key.schema_arn #=> String
412
+ # resp.responses[0].successful_response.list_object_attributes.attributes[0].key.facet_name #=> String
413
+ # resp.responses[0].successful_response.list_object_attributes.attributes[0].key.name #=> String
414
+ # resp.responses[0].successful_response.list_object_attributes.attributes[0].value.string_value #=> String
415
+ # resp.responses[0].successful_response.list_object_attributes.attributes[0].value.binary_value #=> String
416
+ # resp.responses[0].successful_response.list_object_attributes.attributes[0].value.boolean_value #=> Boolean
417
+ # resp.responses[0].successful_response.list_object_attributes.attributes[0].value.number_value #=> String
418
+ # resp.responses[0].successful_response.list_object_attributes.attributes[0].value.datetime_value #=> Time
419
+ # resp.responses[0].successful_response.list_object_attributes.next_token #=> String
420
+ # resp.responses[0].successful_response.list_object_children.children #=> Hash
421
+ # resp.responses[0].successful_response.list_object_children.children["LinkName"] #=> String
422
+ # resp.responses[0].successful_response.list_object_children.next_token #=> String
423
+ # resp.responses[0].exception_response.type #=> String, one of "ValidationException", "InvalidArnException", "ResourceNotFoundException", "InvalidNextTokenException", "AccessDeniedException", "NotNodeException"
424
+ # resp.responses[0].exception_response.message #=> String
425
+ #
426
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchRead AWS API Documentation
427
+ #
428
+ # @overload batch_read(params = {})
429
+ # @param [Hash] params ({})
430
+ def batch_read(params = {}, options = {})
431
+ req = build_request(:batch_read, params)
432
+ req.send_request(options)
433
+ end
434
+
435
+ # Performs all the write operations in a batch. Either all the
436
+ # operations succeed or none. Batch writes supports only object-related
437
+ # operations.
438
+ #
439
+ # @option params [required, String] :directory_arn
440
+ # ARN associated with the Directory. For more information, see arns.
441
+ #
442
+ # @option params [required, Array<Types::BatchWriteOperation>] :operations
443
+ # List of operations that are part of the batch.
444
+ #
445
+ # @return [Types::BatchWriteResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
446
+ #
447
+ # * {Types::BatchWriteResponse#responses #responses} => Array&lt;Types::BatchWriteOperationResponse&gt;
448
+ #
449
+ # @example Request syntax with placeholder values
450
+ #
451
+ # resp = client.batch_write({
452
+ # directory_arn: "Arn", # required
453
+ # operations: [ # required
454
+ # {
455
+ # create_object: {
456
+ # schema_facet: [ # required
457
+ # {
458
+ # schema_arn: "Arn",
459
+ # facet_name: "FacetName",
460
+ # },
461
+ # ],
462
+ # object_attribute_list: [ # required
463
+ # {
464
+ # key: { # required
465
+ # schema_arn: "Arn", # required
466
+ # facet_name: "FacetName", # required
467
+ # name: "AttributeName", # required
468
+ # },
469
+ # value: { # required
470
+ # string_value: "StringAttributeValue",
471
+ # binary_value: "data",
472
+ # boolean_value: false,
473
+ # number_value: "NumberAttributeValue",
474
+ # datetime_value: Time.now,
475
+ # },
476
+ # },
477
+ # ],
478
+ # parent_reference: { # required
479
+ # selector: "SelectorObjectReference",
480
+ # },
481
+ # link_name: "LinkName", # required
482
+ # batch_reference_name: "BatchReferenceName", # required
483
+ # },
484
+ # attach_object: {
485
+ # parent_reference: { # required
486
+ # selector: "SelectorObjectReference",
487
+ # },
488
+ # child_reference: { # required
489
+ # selector: "SelectorObjectReference",
490
+ # },
491
+ # link_name: "LinkName", # required
492
+ # },
493
+ # detach_object: {
494
+ # parent_reference: { # required
495
+ # selector: "SelectorObjectReference",
496
+ # },
497
+ # link_name: "LinkName", # required
498
+ # batch_reference_name: "BatchReferenceName", # required
499
+ # },
500
+ # update_object_attributes: {
501
+ # object_reference: { # required
502
+ # selector: "SelectorObjectReference",
503
+ # },
504
+ # attribute_updates: [ # required
505
+ # {
506
+ # object_attribute_key: {
507
+ # schema_arn: "Arn", # required
508
+ # facet_name: "FacetName", # required
509
+ # name: "AttributeName", # required
510
+ # },
511
+ # object_attribute_action: {
512
+ # object_attribute_action_type: "CREATE_OR_UPDATE", # accepts CREATE_OR_UPDATE, DELETE
513
+ # object_attribute_update_value: {
514
+ # string_value: "StringAttributeValue",
515
+ # binary_value: "data",
516
+ # boolean_value: false,
517
+ # number_value: "NumberAttributeValue",
518
+ # datetime_value: Time.now,
519
+ # },
520
+ # },
521
+ # },
522
+ # ],
523
+ # },
524
+ # delete_object: {
525
+ # object_reference: { # required
526
+ # selector: "SelectorObjectReference",
527
+ # },
528
+ # },
529
+ # add_facet_to_object: {
530
+ # schema_facet: { # required
531
+ # schema_arn: "Arn",
532
+ # facet_name: "FacetName",
533
+ # },
534
+ # object_attribute_list: [ # required
535
+ # {
536
+ # key: { # required
537
+ # schema_arn: "Arn", # required
538
+ # facet_name: "FacetName", # required
539
+ # name: "AttributeName", # required
540
+ # },
541
+ # value: { # required
542
+ # string_value: "StringAttributeValue",
543
+ # binary_value: "data",
544
+ # boolean_value: false,
545
+ # number_value: "NumberAttributeValue",
546
+ # datetime_value: Time.now,
547
+ # },
548
+ # },
549
+ # ],
550
+ # object_reference: { # required
551
+ # selector: "SelectorObjectReference",
552
+ # },
553
+ # },
554
+ # remove_facet_from_object: {
555
+ # schema_facet: { # required
556
+ # schema_arn: "Arn",
557
+ # facet_name: "FacetName",
558
+ # },
559
+ # object_reference: { # required
560
+ # selector: "SelectorObjectReference",
561
+ # },
562
+ # },
563
+ # },
564
+ # ],
565
+ # })
566
+ #
567
+ # @example Response structure
568
+ #
569
+ # resp.responses #=> Array
570
+ # resp.responses[0].create_object.object_identifier #=> String
571
+ # resp.responses[0].attach_object.attached_object_identifier #=> String
572
+ # resp.responses[0].detach_object.detached_object_identifier #=> String
573
+ # resp.responses[0].update_object_attributes.object_identifier #=> String
574
+ #
575
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchWrite AWS API Documentation
576
+ #
577
+ # @overload batch_write(params = {})
578
+ # @param [Hash] params ({})
579
+ def batch_write(params = {}, options = {})
580
+ req = build_request(:batch_write, params)
581
+ req.send_request(options)
582
+ end
583
+
584
+ # Creates a Directory by copying the published schema into the
585
+ # directory. A directory cannot be created without a schema.
586
+ #
587
+ # @option params [required, String] :name
588
+ # Name of the Directory. Should be unique per account, per region.
589
+ #
590
+ # @option params [required, String] :schema_arn
591
+ # ARN of the published schema that will be copied into the data
592
+ # Directory. For more information, see arns.
593
+ #
594
+ # @return [Types::CreateDirectoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
595
+ #
596
+ # * {Types::CreateDirectoryResponse#directory_arn #directory_arn} => String
597
+ # * {Types::CreateDirectoryResponse#name #name} => String
598
+ # * {Types::CreateDirectoryResponse#object_identifier #object_identifier} => String
599
+ # * {Types::CreateDirectoryResponse#applied_schema_arn #applied_schema_arn} => String
600
+ #
601
+ # @example Request syntax with placeholder values
602
+ #
603
+ # resp = client.create_directory({
604
+ # name: "DirectoryName", # required
605
+ # schema_arn: "Arn", # required
606
+ # })
607
+ #
608
+ # @example Response structure
609
+ #
610
+ # resp.directory_arn #=> String
611
+ # resp.name #=> String
612
+ # resp.object_identifier #=> String
613
+ # resp.applied_schema_arn #=> String
614
+ #
615
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/CreateDirectory AWS API Documentation
616
+ #
617
+ # @overload create_directory(params = {})
618
+ # @param [Hash] params ({})
619
+ def create_directory(params = {}, options = {})
620
+ req = build_request(:create_directory, params)
621
+ req.send_request(options)
622
+ end
623
+
624
+ # Creates a new Facet in a schema. Facet creation is allowed only in
625
+ # development or applied schemas.
626
+ #
627
+ # @option params [required, String] :schema_arn
628
+ # Schema ARN in which the new Facet will be created. For more
629
+ # information, see arns.
630
+ #
631
+ # @option params [required, String] :name
632
+ # Name of the Facet, which is unique for a given schema.
633
+ #
634
+ # @option params [Array<Types::FacetAttribute>] :attributes
635
+ # Attributes associated with the Facet.e
636
+ #
637
+ # @option params [required, String] :object_type
638
+ # Specifies whether a given object created from this facet is of type
639
+ # Node, Leaf Node, Policy or Index.
640
+ #
641
+ # * Node: Can have multiple children but one parent.
642
+ #
643
+ # ^
644
+ # ^
645
+ #
646
+ # * Leaf Node: Cannot have children but can have multiple parents.
647
+ #
648
+ # ^
649
+ # ^
650
+ #
651
+ # * Policy: Allows you to store a policy document and policy type. For
652
+ # more information, see [Policies][1].
653
+ #
654
+ # ^
655
+ # ^
656
+ #
657
+ # * Index: Can be created with the Index API.
658
+ #
659
+ # ^
660
+ #
661
+ #
662
+ #
663
+ # [1]: http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies
664
+ #
665
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
666
+ #
667
+ # @example Request syntax with placeholder values
668
+ #
669
+ # resp = client.create_facet({
670
+ # schema_arn: "Arn", # required
671
+ # name: "FacetName", # required
672
+ # attributes: [
673
+ # {
674
+ # name: "AttributeName", # required
675
+ # attribute_definition: {
676
+ # type: "STRING", # required, accepts STRING, BINARY, BOOLEAN, NUMBER, DATETIME
677
+ # default_value: {
678
+ # string_value: "StringAttributeValue",
679
+ # binary_value: "data",
680
+ # boolean_value: false,
681
+ # number_value: "NumberAttributeValue",
682
+ # datetime_value: Time.now,
683
+ # },
684
+ # is_immutable: false,
685
+ # rules: {
686
+ # "RuleKey" => {
687
+ # type: "BINARY_LENGTH", # accepts BINARY_LENGTH, NUMBER_COMPARISON, STRING_FROM_SET, STRING_LENGTH
688
+ # parameters: {
689
+ # "RuleParameterKey" => "RuleParameterValue",
690
+ # },
691
+ # },
692
+ # },
693
+ # },
694
+ # attribute_reference: {
695
+ # target_facet_name: "FacetName", # required
696
+ # target_attribute_name: "AttributeName", # required
697
+ # },
698
+ # required_behavior: "REQUIRED_ALWAYS", # accepts REQUIRED_ALWAYS, NOT_REQUIRED
699
+ # },
700
+ # ],
701
+ # object_type: "NODE", # required, accepts NODE, LEAF_NODE, POLICY, INDEX
702
+ # })
703
+ #
704
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/CreateFacet AWS API Documentation
705
+ #
706
+ # @overload create_facet(params = {})
707
+ # @param [Hash] params ({})
708
+ def create_facet(params = {}, options = {})
709
+ req = build_request(:create_facet, params)
710
+ req.send_request(options)
711
+ end
712
+
713
+ # Creates an index object. See [Indexing][1] for more information.
714
+ #
715
+ #
716
+ #
717
+ # [1]: http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_indexing.html
718
+ #
719
+ # @option params [required, String] :directory_arn
720
+ # The ARN of the directory where the index should be created.
721
+ #
722
+ # @option params [required, Array<Types::AttributeKey>] :ordered_indexed_attribute_list
723
+ # Specifies the Attributes that should be indexed on. Currently only a
724
+ # single attribute is supported.
725
+ #
726
+ # @option params [required, Boolean] :is_unique
727
+ # Indicates whether objects with the same indexed attribute value can be
728
+ # added to the index.
729
+ #
730
+ # @option params [Types::ObjectReference] :parent_reference
731
+ # A reference to the parent object that contains the index object.
732
+ #
733
+ # @option params [String] :link_name
734
+ # The name of the link between the parent object and the index object.
735
+ #
736
+ # @return [Types::CreateIndexResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
737
+ #
738
+ # * {Types::CreateIndexResponse#object_identifier #object_identifier} => String
739
+ #
740
+ # @example Request syntax with placeholder values
741
+ #
742
+ # resp = client.create_index({
743
+ # directory_arn: "Arn", # required
744
+ # ordered_indexed_attribute_list: [ # required
745
+ # {
746
+ # schema_arn: "Arn", # required
747
+ # facet_name: "FacetName", # required
748
+ # name: "AttributeName", # required
749
+ # },
750
+ # ],
751
+ # is_unique: false, # required
752
+ # parent_reference: {
753
+ # selector: "SelectorObjectReference",
754
+ # },
755
+ # link_name: "LinkName",
756
+ # })
757
+ #
758
+ # @example Response structure
759
+ #
760
+ # resp.object_identifier #=> String
761
+ #
762
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/CreateIndex AWS API Documentation
763
+ #
764
+ # @overload create_index(params = {})
765
+ # @param [Hash] params ({})
766
+ def create_index(params = {}, options = {})
767
+ req = build_request(:create_index, params)
768
+ req.send_request(options)
769
+ end
770
+
771
+ # Creates an object in a Directory. Additionally attaches the object to
772
+ # a parent, if a parent reference and LinkName is specified. An object
773
+ # is simply a collection of Facet attributes. You can also use this API
774
+ # call to create a policy object, if the facet from which you create the
775
+ # object is a policy facet.
776
+ #
777
+ # @option params [required, String] :directory_arn
778
+ # ARN associated with the Directory in which the object will be created.
779
+ # For more information, see arns.
780
+ #
781
+ # @option params [required, Array<Types::SchemaFacet>] :schema_facets
782
+ # List of facet ARNs to be associated with the object. For more
783
+ # information, see arns.
784
+ #
785
+ # @option params [Array<Types::AttributeKeyAndValue>] :object_attribute_list
786
+ # Attribute map whose attribute ARN contains the key and attribute value
787
+ # as the map value.
788
+ #
789
+ # @option params [Types::ObjectReference] :parent_reference
790
+ # If specified, the parent reference to which this object will be
791
+ # attached.
792
+ #
793
+ # @option params [String] :link_name
794
+ # The name of link that is used to attach this object to a parent.
795
+ #
796
+ # @return [Types::CreateObjectResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
797
+ #
798
+ # * {Types::CreateObjectResponse#object_identifier #object_identifier} => String
799
+ #
800
+ # @example Request syntax with placeholder values
801
+ #
802
+ # resp = client.create_object({
803
+ # directory_arn: "Arn", # required
804
+ # schema_facets: [ # required
805
+ # {
806
+ # schema_arn: "Arn",
807
+ # facet_name: "FacetName",
808
+ # },
809
+ # ],
810
+ # object_attribute_list: [
811
+ # {
812
+ # key: { # required
813
+ # schema_arn: "Arn", # required
814
+ # facet_name: "FacetName", # required
815
+ # name: "AttributeName", # required
816
+ # },
817
+ # value: { # required
818
+ # string_value: "StringAttributeValue",
819
+ # binary_value: "data",
820
+ # boolean_value: false,
821
+ # number_value: "NumberAttributeValue",
822
+ # datetime_value: Time.now,
823
+ # },
824
+ # },
825
+ # ],
826
+ # parent_reference: {
827
+ # selector: "SelectorObjectReference",
828
+ # },
829
+ # link_name: "LinkName",
830
+ # })
831
+ #
832
+ # @example Response structure
833
+ #
834
+ # resp.object_identifier #=> String
835
+ #
836
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/CreateObject AWS API Documentation
837
+ #
838
+ # @overload create_object(params = {})
839
+ # @param [Hash] params ({})
840
+ def create_object(params = {}, options = {})
841
+ req = build_request(:create_object, params)
842
+ req.send_request(options)
843
+ end
844
+
845
+ # Creates a new schema in a development state. A schema can exist in
846
+ # three phases:
847
+ #
848
+ # * *Development:* This is a mutable phase of the schema. All new
849
+ # schemas are in the development phase. Once the schema is finalized,
850
+ # it can be published.
851
+ #
852
+ # * *Published:* Published schemas are immutable and have a version
853
+ # associated with them.
854
+ #
855
+ # * *Applied:* Applied schemas are mutable in a way that allows you to
856
+ # add new schema facets. You can also add new, nonrequired attributes
857
+ # to existing schema facets. You can apply only published schemas to
858
+ # directories.
859
+ #
860
+ # @option params [required, String] :name
861
+ # Name associated with the schema. This is unique to each account and in
862
+ # each region.
863
+ #
864
+ # @return [Types::CreateSchemaResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
865
+ #
866
+ # * {Types::CreateSchemaResponse#schema_arn #schema_arn} => String
867
+ #
868
+ # @example Request syntax with placeholder values
869
+ #
870
+ # resp = client.create_schema({
871
+ # name: "SchemaName", # required
872
+ # })
873
+ #
874
+ # @example Response structure
875
+ #
876
+ # resp.schema_arn #=> String
877
+ #
878
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/CreateSchema AWS API Documentation
879
+ #
880
+ # @overload create_schema(params = {})
881
+ # @param [Hash] params ({})
882
+ def create_schema(params = {}, options = {})
883
+ req = build_request(:create_schema, params)
884
+ req.send_request(options)
885
+ end
886
+
887
+ # Deletes a directory. Only disabled directories can be deleted. A
888
+ # deleted directory cannot be undone. Exercise extreme caution when
889
+ # deleting directories.
890
+ #
891
+ # @option params [required, String] :directory_arn
892
+ # The ARN of the directory to delete.
893
+ #
894
+ # @return [Types::DeleteDirectoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
895
+ #
896
+ # * {Types::DeleteDirectoryResponse#directory_arn #directory_arn} => String
897
+ #
898
+ # @example Request syntax with placeholder values
899
+ #
900
+ # resp = client.delete_directory({
901
+ # directory_arn: "Arn", # required
902
+ # })
903
+ #
904
+ # @example Response structure
905
+ #
906
+ # resp.directory_arn #=> String
907
+ #
908
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/DeleteDirectory AWS API Documentation
909
+ #
910
+ # @overload delete_directory(params = {})
911
+ # @param [Hash] params ({})
912
+ def delete_directory(params = {}, options = {})
913
+ req = build_request(:delete_directory, params)
914
+ req.send_request(options)
915
+ end
916
+
917
+ # Deletes a given Facet. All attributes and Rules associated with the
918
+ # facet will be deleted. Only development schema facets are allowed
919
+ # deletion.
920
+ #
921
+ # @option params [required, String] :schema_arn
922
+ # ARN associated with the Facet. For more information, see arns.
923
+ #
924
+ # @option params [required, String] :name
925
+ # The name of the facet to delete.
926
+ #
927
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
928
+ #
929
+ # @example Request syntax with placeholder values
930
+ #
931
+ # resp = client.delete_facet({
932
+ # schema_arn: "Arn", # required
933
+ # name: "FacetName", # required
934
+ # })
935
+ #
936
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/DeleteFacet AWS API Documentation
937
+ #
938
+ # @overload delete_facet(params = {})
939
+ # @param [Hash] params ({})
940
+ def delete_facet(params = {}, options = {})
941
+ req = build_request(:delete_facet, params)
942
+ req.send_request(options)
943
+ end
944
+
945
+ # Deletes an object and its associated attributes. Only objects with no
946
+ # children and no parents can be deleted.
947
+ #
948
+ # @option params [required, String] :directory_arn
949
+ # ARN associated with the Directory where the object resides. For more
950
+ # information, see arns.
951
+ #
952
+ # @option params [required, Types::ObjectReference] :object_reference
953
+ # Reference that identifies the object.
954
+ #
955
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
956
+ #
957
+ # @example Request syntax with placeholder values
958
+ #
959
+ # resp = client.delete_object({
960
+ # directory_arn: "Arn", # required
961
+ # object_reference: { # required
962
+ # selector: "SelectorObjectReference",
963
+ # },
964
+ # })
965
+ #
966
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/DeleteObject AWS API Documentation
967
+ #
968
+ # @overload delete_object(params = {})
969
+ # @param [Hash] params ({})
970
+ def delete_object(params = {}, options = {})
971
+ req = build_request(:delete_object, params)
972
+ req.send_request(options)
973
+ end
974
+
975
+ # Deletes a given schema. Schemas in a development and published state
976
+ # can only be deleted.
977
+ #
978
+ # @option params [required, String] :schema_arn
979
+ # ARN of the development schema. For more information, see arns.
980
+ #
981
+ # @return [Types::DeleteSchemaResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
982
+ #
983
+ # * {Types::DeleteSchemaResponse#schema_arn #schema_arn} => String
984
+ #
985
+ # @example Request syntax with placeholder values
986
+ #
987
+ # resp = client.delete_schema({
988
+ # schema_arn: "Arn", # required
989
+ # })
990
+ #
991
+ # @example Response structure
992
+ #
993
+ # resp.schema_arn #=> String
994
+ #
995
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/DeleteSchema AWS API Documentation
996
+ #
997
+ # @overload delete_schema(params = {})
998
+ # @param [Hash] params ({})
999
+ def delete_schema(params = {}, options = {})
1000
+ req = build_request(:delete_schema, params)
1001
+ req.send_request(options)
1002
+ end
1003
+
1004
+ # Detaches the specified object from the specified index.
1005
+ #
1006
+ # @option params [required, String] :directory_arn
1007
+ # The ARN of the directory the index and object exist in.
1008
+ #
1009
+ # @option params [required, Types::ObjectReference] :index_reference
1010
+ # A reference to the index object.
1011
+ #
1012
+ # @option params [required, Types::ObjectReference] :target_reference
1013
+ # A reference to the object being detached from the index.
1014
+ #
1015
+ # @return [Types::DetachFromIndexResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1016
+ #
1017
+ # * {Types::DetachFromIndexResponse#detached_object_identifier #detached_object_identifier} => String
1018
+ #
1019
+ # @example Request syntax with placeholder values
1020
+ #
1021
+ # resp = client.detach_from_index({
1022
+ # directory_arn: "Arn", # required
1023
+ # index_reference: { # required
1024
+ # selector: "SelectorObjectReference",
1025
+ # },
1026
+ # target_reference: { # required
1027
+ # selector: "SelectorObjectReference",
1028
+ # },
1029
+ # })
1030
+ #
1031
+ # @example Response structure
1032
+ #
1033
+ # resp.detached_object_identifier #=> String
1034
+ #
1035
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/DetachFromIndex AWS API Documentation
1036
+ #
1037
+ # @overload detach_from_index(params = {})
1038
+ # @param [Hash] params ({})
1039
+ def detach_from_index(params = {}, options = {})
1040
+ req = build_request(:detach_from_index, params)
1041
+ req.send_request(options)
1042
+ end
1043
+
1044
+ # Detaches a given object from the parent object. The object that is to
1045
+ # be detached from the parent is specified by the link name.
1046
+ #
1047
+ # @option params [required, String] :directory_arn
1048
+ # ARN associated with the Directory where objects reside. For more
1049
+ # information, see arns.
1050
+ #
1051
+ # @option params [required, Types::ObjectReference] :parent_reference
1052
+ # Parent reference from which the object with the specified link name is
1053
+ # detached.
1054
+ #
1055
+ # @option params [required, String] :link_name
1056
+ # Link name associated with the object that needs to be detached.
1057
+ #
1058
+ # @return [Types::DetachObjectResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1059
+ #
1060
+ # * {Types::DetachObjectResponse#detached_object_identifier #detached_object_identifier} => String
1061
+ #
1062
+ # @example Request syntax with placeholder values
1063
+ #
1064
+ # resp = client.detach_object({
1065
+ # directory_arn: "Arn", # required
1066
+ # parent_reference: { # required
1067
+ # selector: "SelectorObjectReference",
1068
+ # },
1069
+ # link_name: "LinkName", # required
1070
+ # })
1071
+ #
1072
+ # @example Response structure
1073
+ #
1074
+ # resp.detached_object_identifier #=> String
1075
+ #
1076
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/DetachObject AWS API Documentation
1077
+ #
1078
+ # @overload detach_object(params = {})
1079
+ # @param [Hash] params ({})
1080
+ def detach_object(params = {}, options = {})
1081
+ req = build_request(:detach_object, params)
1082
+ req.send_request(options)
1083
+ end
1084
+
1085
+ # Detaches a policy from an object.
1086
+ #
1087
+ # @option params [required, String] :directory_arn
1088
+ # ARN associated with the Directory where both objects reside. For more
1089
+ # information, see arns.
1090
+ #
1091
+ # @option params [required, Types::ObjectReference] :policy_reference
1092
+ # Reference that identifies the policy object.
1093
+ #
1094
+ # @option params [required, Types::ObjectReference] :object_reference
1095
+ # Reference that identifies the object whose policy object will be
1096
+ # detached.
1097
+ #
1098
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1099
+ #
1100
+ # @example Request syntax with placeholder values
1101
+ #
1102
+ # resp = client.detach_policy({
1103
+ # directory_arn: "Arn", # required
1104
+ # policy_reference: { # required
1105
+ # selector: "SelectorObjectReference",
1106
+ # },
1107
+ # object_reference: { # required
1108
+ # selector: "SelectorObjectReference",
1109
+ # },
1110
+ # })
1111
+ #
1112
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/DetachPolicy AWS API Documentation
1113
+ #
1114
+ # @overload detach_policy(params = {})
1115
+ # @param [Hash] params ({})
1116
+ def detach_policy(params = {}, options = {})
1117
+ req = build_request(:detach_policy, params)
1118
+ req.send_request(options)
1119
+ end
1120
+
1121
+ # Disables the specified directory. Disabled directories cannot be read
1122
+ # or written to. Only enabled directories can be disabled. Disabled
1123
+ # directories may be reenabled.
1124
+ #
1125
+ # @option params [required, String] :directory_arn
1126
+ # The ARN of the directory to disable.
1127
+ #
1128
+ # @return [Types::DisableDirectoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1129
+ #
1130
+ # * {Types::DisableDirectoryResponse#directory_arn #directory_arn} => String
1131
+ #
1132
+ # @example Request syntax with placeholder values
1133
+ #
1134
+ # resp = client.disable_directory({
1135
+ # directory_arn: "Arn", # required
1136
+ # })
1137
+ #
1138
+ # @example Response structure
1139
+ #
1140
+ # resp.directory_arn #=> String
1141
+ #
1142
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/DisableDirectory AWS API Documentation
1143
+ #
1144
+ # @overload disable_directory(params = {})
1145
+ # @param [Hash] params ({})
1146
+ def disable_directory(params = {}, options = {})
1147
+ req = build_request(:disable_directory, params)
1148
+ req.send_request(options)
1149
+ end
1150
+
1151
+ # Enables the specified directory. Only disabled directories can be
1152
+ # enabled. Once enabled, the directory can then be read and written to.
1153
+ #
1154
+ # @option params [required, String] :directory_arn
1155
+ # The ARN of the directory to enable.
1156
+ #
1157
+ # @return [Types::EnableDirectoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1158
+ #
1159
+ # * {Types::EnableDirectoryResponse#directory_arn #directory_arn} => String
1160
+ #
1161
+ # @example Request syntax with placeholder values
1162
+ #
1163
+ # resp = client.enable_directory({
1164
+ # directory_arn: "Arn", # required
1165
+ # })
1166
+ #
1167
+ # @example Response structure
1168
+ #
1169
+ # resp.directory_arn #=> String
1170
+ #
1171
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/EnableDirectory AWS API Documentation
1172
+ #
1173
+ # @overload enable_directory(params = {})
1174
+ # @param [Hash] params ({})
1175
+ def enable_directory(params = {}, options = {})
1176
+ req = build_request(:enable_directory, params)
1177
+ req.send_request(options)
1178
+ end
1179
+
1180
+ # Retrieves metadata about a directory.
1181
+ #
1182
+ # @option params [required, String] :directory_arn
1183
+ # The ARN of the directory.
1184
+ #
1185
+ # @return [Types::GetDirectoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1186
+ #
1187
+ # * {Types::GetDirectoryResponse#directory #directory} => Types::Directory
1188
+ #
1189
+ # @example Request syntax with placeholder values
1190
+ #
1191
+ # resp = client.get_directory({
1192
+ # directory_arn: "DirectoryArn", # required
1193
+ # })
1194
+ #
1195
+ # @example Response structure
1196
+ #
1197
+ # resp.directory.name #=> String
1198
+ # resp.directory.directory_arn #=> String
1199
+ # resp.directory.state #=> String, one of "ENABLED", "DISABLED", "DELETED"
1200
+ # resp.directory.creation_date_time #=> Time
1201
+ #
1202
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/GetDirectory AWS API Documentation
1203
+ #
1204
+ # @overload get_directory(params = {})
1205
+ # @param [Hash] params ({})
1206
+ def get_directory(params = {}, options = {})
1207
+ req = build_request(:get_directory, params)
1208
+ req.send_request(options)
1209
+ end
1210
+
1211
+ # Gets details of the Facet, such as Facet Name, Attributes, Rules, or
1212
+ # ObjectType. You can call this on all kinds of schema facets --
1213
+ # published, development, or applied.
1214
+ #
1215
+ # @option params [required, String] :schema_arn
1216
+ # ARN associated with the Facet. For more information, see arns.
1217
+ #
1218
+ # @option params [required, String] :name
1219
+ # The name of the facet to retrieve.
1220
+ #
1221
+ # @return [Types::GetFacetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1222
+ #
1223
+ # * {Types::GetFacetResponse#facet #facet} => Types::Facet
1224
+ #
1225
+ # @example Request syntax with placeholder values
1226
+ #
1227
+ # resp = client.get_facet({
1228
+ # schema_arn: "Arn", # required
1229
+ # name: "FacetName", # required
1230
+ # })
1231
+ #
1232
+ # @example Response structure
1233
+ #
1234
+ # resp.facet.name #=> String
1235
+ # resp.facet.object_type #=> String, one of "NODE", "LEAF_NODE", "POLICY", "INDEX"
1236
+ #
1237
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/GetFacet AWS API Documentation
1238
+ #
1239
+ # @overload get_facet(params = {})
1240
+ # @param [Hash] params ({})
1241
+ def get_facet(params = {}, options = {})
1242
+ req = build_request(:get_facet, params)
1243
+ req.send_request(options)
1244
+ end
1245
+
1246
+ # Retrieves metadata about an object.
1247
+ #
1248
+ # @option params [required, String] :directory_arn
1249
+ # The ARN of the directory being retrieved.
1250
+ #
1251
+ # @option params [required, Types::ObjectReference] :object_reference
1252
+ # A reference to the object.
1253
+ #
1254
+ # @option params [String] :consistency_level
1255
+ # The consistency level at which to retrieve the object information.
1256
+ #
1257
+ # @return [Types::GetObjectInformationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1258
+ #
1259
+ # * {Types::GetObjectInformationResponse#schema_facets #schema_facets} => Array&lt;Types::SchemaFacet&gt;
1260
+ # * {Types::GetObjectInformationResponse#object_identifier #object_identifier} => String
1261
+ #
1262
+ # @example Request syntax with placeholder values
1263
+ #
1264
+ # resp = client.get_object_information({
1265
+ # directory_arn: "Arn", # required
1266
+ # object_reference: { # required
1267
+ # selector: "SelectorObjectReference",
1268
+ # },
1269
+ # consistency_level: "SERIALIZABLE", # accepts SERIALIZABLE, EVENTUAL
1270
+ # })
1271
+ #
1272
+ # @example Response structure
1273
+ #
1274
+ # resp.schema_facets #=> Array
1275
+ # resp.schema_facets[0].schema_arn #=> String
1276
+ # resp.schema_facets[0].facet_name #=> String
1277
+ # resp.object_identifier #=> String
1278
+ #
1279
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/GetObjectInformation AWS API Documentation
1280
+ #
1281
+ # @overload get_object_information(params = {})
1282
+ # @param [Hash] params ({})
1283
+ def get_object_information(params = {}, options = {})
1284
+ req = build_request(:get_object_information, params)
1285
+ req.send_request(options)
1286
+ end
1287
+
1288
+ # Retrieves a JSON representation of the schema. See [JSON Schema
1289
+ # Format][1] for more information.
1290
+ #
1291
+ #
1292
+ #
1293
+ # [1]: http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_schemas.html#jsonformat
1294
+ #
1295
+ # @option params [required, String] :schema_arn
1296
+ # The ARN of the schema to retrieve.
1297
+ #
1298
+ # @return [Types::GetSchemaAsJsonResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1299
+ #
1300
+ # * {Types::GetSchemaAsJsonResponse#name #name} => String
1301
+ # * {Types::GetSchemaAsJsonResponse#document #document} => String
1302
+ #
1303
+ # @example Request syntax with placeholder values
1304
+ #
1305
+ # resp = client.get_schema_as_json({
1306
+ # schema_arn: "Arn", # required
1307
+ # })
1308
+ #
1309
+ # @example Response structure
1310
+ #
1311
+ # resp.name #=> String
1312
+ # resp.document #=> String
1313
+ #
1314
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/GetSchemaAsJson AWS API Documentation
1315
+ #
1316
+ # @overload get_schema_as_json(params = {})
1317
+ # @param [Hash] params ({})
1318
+ def get_schema_as_json(params = {}, options = {})
1319
+ req = build_request(:get_schema_as_json, params)
1320
+ req.send_request(options)
1321
+ end
1322
+
1323
+ # Lists schemas applied to a directory.
1324
+ #
1325
+ # @option params [required, String] :directory_arn
1326
+ # The ARN of the directory you are listing.
1327
+ #
1328
+ # @option params [String] :next_token
1329
+ # The pagination token.
1330
+ #
1331
+ # @option params [Integer] :max_results
1332
+ # The maximum number of results to retrieve.
1333
+ #
1334
+ # @return [Types::ListAppliedSchemaArnsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1335
+ #
1336
+ # * {Types::ListAppliedSchemaArnsResponse#schema_arns #schema_arns} => Array&lt;String&gt;
1337
+ # * {Types::ListAppliedSchemaArnsResponse#next_token #next_token} => String
1338
+ #
1339
+ # @example Request syntax with placeholder values
1340
+ #
1341
+ # resp = client.list_applied_schema_arns({
1342
+ # directory_arn: "Arn", # required
1343
+ # next_token: "NextToken",
1344
+ # max_results: 1,
1345
+ # })
1346
+ #
1347
+ # @example Response structure
1348
+ #
1349
+ # resp.schema_arns #=> Array
1350
+ # resp.schema_arns[0] #=> String
1351
+ # resp.next_token #=> String
1352
+ #
1353
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/ListAppliedSchemaArns AWS API Documentation
1354
+ #
1355
+ # @overload list_applied_schema_arns(params = {})
1356
+ # @param [Hash] params ({})
1357
+ def list_applied_schema_arns(params = {}, options = {})
1358
+ req = build_request(:list_applied_schema_arns, params)
1359
+ req.send_request(options)
1360
+ end
1361
+
1362
+ # Lists indices attached to an object.
1363
+ #
1364
+ # @option params [required, String] :directory_arn
1365
+ # The ARN of the directory.
1366
+ #
1367
+ # @option params [required, Types::ObjectReference] :target_reference
1368
+ # A reference to the object to that has indices attached.
1369
+ #
1370
+ # @option params [String] :next_token
1371
+ # The pagination token.
1372
+ #
1373
+ # @option params [Integer] :max_results
1374
+ # The maximum number of results to retrieve.
1375
+ #
1376
+ # @option params [String] :consistency_level
1377
+ # The consistency level to use for this operation.
1378
+ #
1379
+ # @return [Types::ListAttachedIndicesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1380
+ #
1381
+ # * {Types::ListAttachedIndicesResponse#index_attachments #index_attachments} => Array&lt;Types::IndexAttachment&gt;
1382
+ # * {Types::ListAttachedIndicesResponse#next_token #next_token} => String
1383
+ #
1384
+ # @example Request syntax with placeholder values
1385
+ #
1386
+ # resp = client.list_attached_indices({
1387
+ # directory_arn: "Arn", # required
1388
+ # target_reference: { # required
1389
+ # selector: "SelectorObjectReference",
1390
+ # },
1391
+ # next_token: "NextToken",
1392
+ # max_results: 1,
1393
+ # consistency_level: "SERIALIZABLE", # accepts SERIALIZABLE, EVENTUAL
1394
+ # })
1395
+ #
1396
+ # @example Response structure
1397
+ #
1398
+ # resp.index_attachments #=> Array
1399
+ # resp.index_attachments[0].indexed_attributes #=> Array
1400
+ # resp.index_attachments[0].indexed_attributes[0].key.schema_arn #=> String
1401
+ # resp.index_attachments[0].indexed_attributes[0].key.facet_name #=> String
1402
+ # resp.index_attachments[0].indexed_attributes[0].key.name #=> String
1403
+ # resp.index_attachments[0].indexed_attributes[0].value.string_value #=> String
1404
+ # resp.index_attachments[0].indexed_attributes[0].value.binary_value #=> String
1405
+ # resp.index_attachments[0].indexed_attributes[0].value.boolean_value #=> Boolean
1406
+ # resp.index_attachments[0].indexed_attributes[0].value.number_value #=> String
1407
+ # resp.index_attachments[0].indexed_attributes[0].value.datetime_value #=> Time
1408
+ # resp.index_attachments[0].object_identifier #=> String
1409
+ # resp.next_token #=> String
1410
+ #
1411
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/ListAttachedIndices AWS API Documentation
1412
+ #
1413
+ # @overload list_attached_indices(params = {})
1414
+ # @param [Hash] params ({})
1415
+ def list_attached_indices(params = {}, options = {})
1416
+ req = build_request(:list_attached_indices, params)
1417
+ req.send_request(options)
1418
+ end
1419
+
1420
+ # Retrieves the ARNs of schemas in the development state.
1421
+ #
1422
+ # @option params [String] :next_token
1423
+ # The pagination token.
1424
+ #
1425
+ # @option params [Integer] :max_results
1426
+ # The maximum number of results to retrieve.
1427
+ #
1428
+ # @return [Types::ListDevelopmentSchemaArnsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1429
+ #
1430
+ # * {Types::ListDevelopmentSchemaArnsResponse#schema_arns #schema_arns} => Array&lt;String&gt;
1431
+ # * {Types::ListDevelopmentSchemaArnsResponse#next_token #next_token} => String
1432
+ #
1433
+ # @example Request syntax with placeholder values
1434
+ #
1435
+ # resp = client.list_development_schema_arns({
1436
+ # next_token: "NextToken",
1437
+ # max_results: 1,
1438
+ # })
1439
+ #
1440
+ # @example Response structure
1441
+ #
1442
+ # resp.schema_arns #=> Array
1443
+ # resp.schema_arns[0] #=> String
1444
+ # resp.next_token #=> String
1445
+ #
1446
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/ListDevelopmentSchemaArns AWS API Documentation
1447
+ #
1448
+ # @overload list_development_schema_arns(params = {})
1449
+ # @param [Hash] params ({})
1450
+ def list_development_schema_arns(params = {}, options = {})
1451
+ req = build_request(:list_development_schema_arns, params)
1452
+ req.send_request(options)
1453
+ end
1454
+
1455
+ # Lists directories created within an account.
1456
+ #
1457
+ # @option params [String] :next_token
1458
+ # The pagination token.
1459
+ #
1460
+ # @option params [Integer] :max_results
1461
+ # The maximum number of results to retrieve.
1462
+ #
1463
+ # @option params [String] :state
1464
+ # The state of the directories in the list. Can be either Enabled,
1465
+ # Disabled, or Deleted.
1466
+ #
1467
+ # @return [Types::ListDirectoriesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1468
+ #
1469
+ # * {Types::ListDirectoriesResponse#directories #directories} => Array&lt;Types::Directory&gt;
1470
+ # * {Types::ListDirectoriesResponse#next_token #next_token} => String
1471
+ #
1472
+ # @example Request syntax with placeholder values
1473
+ #
1474
+ # resp = client.list_directories({
1475
+ # next_token: "NextToken",
1476
+ # max_results: 1,
1477
+ # state: "ENABLED", # accepts ENABLED, DISABLED, DELETED
1478
+ # })
1479
+ #
1480
+ # @example Response structure
1481
+ #
1482
+ # resp.directories #=> Array
1483
+ # resp.directories[0].name #=> String
1484
+ # resp.directories[0].directory_arn #=> String
1485
+ # resp.directories[0].state #=> String, one of "ENABLED", "DISABLED", "DELETED"
1486
+ # resp.directories[0].creation_date_time #=> Time
1487
+ # resp.next_token #=> String
1488
+ #
1489
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/ListDirectories AWS API Documentation
1490
+ #
1491
+ # @overload list_directories(params = {})
1492
+ # @param [Hash] params ({})
1493
+ def list_directories(params = {}, options = {})
1494
+ req = build_request(:list_directories, params)
1495
+ req.send_request(options)
1496
+ end
1497
+
1498
+ # Retrieves attributes attached to the facet.
1499
+ #
1500
+ # @option params [required, String] :schema_arn
1501
+ # The ARN of the schema where the facet resides.
1502
+ #
1503
+ # @option params [required, String] :name
1504
+ # The name of the facet whose attributes will be retrieved.
1505
+ #
1506
+ # @option params [String] :next_token
1507
+ # The pagination token.
1508
+ #
1509
+ # @option params [Integer] :max_results
1510
+ # The maximum number of results to retrieve.
1511
+ #
1512
+ # @return [Types::ListFacetAttributesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1513
+ #
1514
+ # * {Types::ListFacetAttributesResponse#attributes #attributes} => Array&lt;Types::FacetAttribute&gt;
1515
+ # * {Types::ListFacetAttributesResponse#next_token #next_token} => String
1516
+ #
1517
+ # @example Request syntax with placeholder values
1518
+ #
1519
+ # resp = client.list_facet_attributes({
1520
+ # schema_arn: "Arn", # required
1521
+ # name: "FacetName", # required
1522
+ # next_token: "NextToken",
1523
+ # max_results: 1,
1524
+ # })
1525
+ #
1526
+ # @example Response structure
1527
+ #
1528
+ # resp.attributes #=> Array
1529
+ # resp.attributes[0].name #=> String
1530
+ # resp.attributes[0].attribute_definition.type #=> String, one of "STRING", "BINARY", "BOOLEAN", "NUMBER", "DATETIME"
1531
+ # resp.attributes[0].attribute_definition.default_value.string_value #=> String
1532
+ # resp.attributes[0].attribute_definition.default_value.binary_value #=> String
1533
+ # resp.attributes[0].attribute_definition.default_value.boolean_value #=> Boolean
1534
+ # resp.attributes[0].attribute_definition.default_value.number_value #=> String
1535
+ # resp.attributes[0].attribute_definition.default_value.datetime_value #=> Time
1536
+ # resp.attributes[0].attribute_definition.is_immutable #=> Boolean
1537
+ # resp.attributes[0].attribute_definition.rules #=> Hash
1538
+ # resp.attributes[0].attribute_definition.rules["RuleKey"].type #=> String, one of "BINARY_LENGTH", "NUMBER_COMPARISON", "STRING_FROM_SET", "STRING_LENGTH"
1539
+ # resp.attributes[0].attribute_definition.rules["RuleKey"].parameters #=> Hash
1540
+ # resp.attributes[0].attribute_definition.rules["RuleKey"].parameters["RuleParameterKey"] #=> String
1541
+ # resp.attributes[0].attribute_reference.target_facet_name #=> String
1542
+ # resp.attributes[0].attribute_reference.target_attribute_name #=> String
1543
+ # resp.attributes[0].required_behavior #=> String, one of "REQUIRED_ALWAYS", "NOT_REQUIRED"
1544
+ # resp.next_token #=> String
1545
+ #
1546
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/ListFacetAttributes AWS API Documentation
1547
+ #
1548
+ # @overload list_facet_attributes(params = {})
1549
+ # @param [Hash] params ({})
1550
+ def list_facet_attributes(params = {}, options = {})
1551
+ req = build_request(:list_facet_attributes, params)
1552
+ req.send_request(options)
1553
+ end
1554
+
1555
+ # Retrieves the names of facets that exist in a schema.
1556
+ #
1557
+ # @option params [required, String] :schema_arn
1558
+ # The ARN to retrieve facet names from.
1559
+ #
1560
+ # @option params [String] :next_token
1561
+ # The pagination token.
1562
+ #
1563
+ # @option params [Integer] :max_results
1564
+ # The maximum number of results to retrieve
1565
+ #
1566
+ # @return [Types::ListFacetNamesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1567
+ #
1568
+ # * {Types::ListFacetNamesResponse#facet_names #facet_names} => Array&lt;String&gt;
1569
+ # * {Types::ListFacetNamesResponse#next_token #next_token} => String
1570
+ #
1571
+ # @example Request syntax with placeholder values
1572
+ #
1573
+ # resp = client.list_facet_names({
1574
+ # schema_arn: "Arn", # required
1575
+ # next_token: "NextToken",
1576
+ # max_results: 1,
1577
+ # })
1578
+ #
1579
+ # @example Response structure
1580
+ #
1581
+ # resp.facet_names #=> Array
1582
+ # resp.facet_names[0] #=> String
1583
+ # resp.next_token #=> String
1584
+ #
1585
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/ListFacetNames AWS API Documentation
1586
+ #
1587
+ # @overload list_facet_names(params = {})
1588
+ # @param [Hash] params ({})
1589
+ def list_facet_names(params = {}, options = {})
1590
+ req = build_request(:list_facet_names, params)
1591
+ req.send_request(options)
1592
+ end
1593
+
1594
+ # Lists objects attached to the specified index.
1595
+ #
1596
+ # @option params [required, String] :directory_arn
1597
+ # The ARN of the directory that the index exists in.
1598
+ #
1599
+ # @option params [Array<Types::ObjectAttributeRange>] :ranges_on_indexed_values
1600
+ # Specifies the ranges of indexed values that you want to query.
1601
+ #
1602
+ # @option params [required, Types::ObjectReference] :index_reference
1603
+ # The reference to the index to list.
1604
+ #
1605
+ # @option params [Integer] :max_results
1606
+ # The maximum number of results to retrieve from the index.
1607
+ #
1608
+ # @option params [String] :next_token
1609
+ # The pagination token.
1610
+ #
1611
+ # @option params [String] :consistency_level
1612
+ # The consistency level to execute the request at.
1613
+ #
1614
+ # @return [Types::ListIndexResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1615
+ #
1616
+ # * {Types::ListIndexResponse#index_attachments #index_attachments} => Array&lt;Types::IndexAttachment&gt;
1617
+ # * {Types::ListIndexResponse#next_token #next_token} => String
1618
+ #
1619
+ # @example Request syntax with placeholder values
1620
+ #
1621
+ # resp = client.list_index({
1622
+ # directory_arn: "Arn", # required
1623
+ # ranges_on_indexed_values: [
1624
+ # {
1625
+ # attribute_key: {
1626
+ # schema_arn: "Arn", # required
1627
+ # facet_name: "FacetName", # required
1628
+ # name: "AttributeName", # required
1629
+ # },
1630
+ # range: {
1631
+ # start_mode: "FIRST", # required, accepts FIRST, LAST, LAST_BEFORE_MISSING_VALUES, INCLUSIVE, EXCLUSIVE
1632
+ # start_value: {
1633
+ # string_value: "StringAttributeValue",
1634
+ # binary_value: "data",
1635
+ # boolean_value: false,
1636
+ # number_value: "NumberAttributeValue",
1637
+ # datetime_value: Time.now,
1638
+ # },
1639
+ # end_mode: "FIRST", # required, accepts FIRST, LAST, LAST_BEFORE_MISSING_VALUES, INCLUSIVE, EXCLUSIVE
1640
+ # end_value: {
1641
+ # string_value: "StringAttributeValue",
1642
+ # binary_value: "data",
1643
+ # boolean_value: false,
1644
+ # number_value: "NumberAttributeValue",
1645
+ # datetime_value: Time.now,
1646
+ # },
1647
+ # },
1648
+ # },
1649
+ # ],
1650
+ # index_reference: { # required
1651
+ # selector: "SelectorObjectReference",
1652
+ # },
1653
+ # max_results: 1,
1654
+ # next_token: "NextToken",
1655
+ # consistency_level: "SERIALIZABLE", # accepts SERIALIZABLE, EVENTUAL
1656
+ # })
1657
+ #
1658
+ # @example Response structure
1659
+ #
1660
+ # resp.index_attachments #=> Array
1661
+ # resp.index_attachments[0].indexed_attributes #=> Array
1662
+ # resp.index_attachments[0].indexed_attributes[0].key.schema_arn #=> String
1663
+ # resp.index_attachments[0].indexed_attributes[0].key.facet_name #=> String
1664
+ # resp.index_attachments[0].indexed_attributes[0].key.name #=> String
1665
+ # resp.index_attachments[0].indexed_attributes[0].value.string_value #=> String
1666
+ # resp.index_attachments[0].indexed_attributes[0].value.binary_value #=> String
1667
+ # resp.index_attachments[0].indexed_attributes[0].value.boolean_value #=> Boolean
1668
+ # resp.index_attachments[0].indexed_attributes[0].value.number_value #=> String
1669
+ # resp.index_attachments[0].indexed_attributes[0].value.datetime_value #=> Time
1670
+ # resp.index_attachments[0].object_identifier #=> String
1671
+ # resp.next_token #=> String
1672
+ #
1673
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/ListIndex AWS API Documentation
1674
+ #
1675
+ # @overload list_index(params = {})
1676
+ # @param [Hash] params ({})
1677
+ def list_index(params = {}, options = {})
1678
+ req = build_request(:list_index, params)
1679
+ req.send_request(options)
1680
+ end
1681
+
1682
+ # Lists all attributes associated with an object.
1683
+ #
1684
+ # @option params [required, String] :directory_arn
1685
+ # ARN associated with the Directory where the object resides. For more
1686
+ # information, see arns.
1687
+ #
1688
+ # @option params [required, Types::ObjectReference] :object_reference
1689
+ # Reference that identifies the object whose attributes will be listed.
1690
+ #
1691
+ # @option params [String] :next_token
1692
+ # Token used for pagination.
1693
+ #
1694
+ # @option params [Integer] :max_results
1695
+ # Maximum number of items to be retrieved in a single call. This is an
1696
+ # approximate number.
1697
+ #
1698
+ # @option params [String] :consistency_level
1699
+ # Represents the manner and timing in which the successful write or
1700
+ # update of an object is reflected in a subsequent read operation of
1701
+ # that same object.
1702
+ #
1703
+ # @return [Types::ListObjectAttributesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1704
+ #
1705
+ # * {Types::ListObjectAttributesResponse#attributes #attributes} => Array&lt;Types::AttributeKeyAndValue&gt;
1706
+ # * {Types::ListObjectAttributesResponse#next_token #next_token} => String
1707
+ #
1708
+ # @example Request syntax with placeholder values
1709
+ #
1710
+ # resp = client.list_object_attributes({
1711
+ # directory_arn: "Arn", # required
1712
+ # object_reference: { # required
1713
+ # selector: "SelectorObjectReference",
1714
+ # },
1715
+ # next_token: "NextToken",
1716
+ # max_results: 1,
1717
+ # consistency_level: "SERIALIZABLE", # accepts SERIALIZABLE, EVENTUAL
1718
+ # })
1719
+ #
1720
+ # @example Response structure
1721
+ #
1722
+ # resp.attributes #=> Array
1723
+ # resp.attributes[0].key.schema_arn #=> String
1724
+ # resp.attributes[0].key.facet_name #=> String
1725
+ # resp.attributes[0].key.name #=> String
1726
+ # resp.attributes[0].value.string_value #=> String
1727
+ # resp.attributes[0].value.binary_value #=> String
1728
+ # resp.attributes[0].value.boolean_value #=> Boolean
1729
+ # resp.attributes[0].value.number_value #=> String
1730
+ # resp.attributes[0].value.datetime_value #=> Time
1731
+ # resp.next_token #=> String
1732
+ #
1733
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/ListObjectAttributes AWS API Documentation
1734
+ #
1735
+ # @overload list_object_attributes(params = {})
1736
+ # @param [Hash] params ({})
1737
+ def list_object_attributes(params = {}, options = {})
1738
+ req = build_request(:list_object_attributes, params)
1739
+ req.send_request(options)
1740
+ end
1741
+
1742
+ # Returns a paginated list of child objects associated with a given
1743
+ # object.
1744
+ #
1745
+ # @option params [required, String] :directory_arn
1746
+ # ARN associated with the Directory where the object resides. For more
1747
+ # information, see arns.
1748
+ #
1749
+ # @option params [required, Types::ObjectReference] :object_reference
1750
+ # Reference that identifies the object for which child objects are being
1751
+ # listed.
1752
+ #
1753
+ # @option params [String] :next_token
1754
+ # Token used for pagination.
1755
+ #
1756
+ # @option params [Integer] :max_results
1757
+ # Maximum number of items to be retrieved in a single call. This is an
1758
+ # approximate number.
1759
+ #
1760
+ # @option params [String] :consistency_level
1761
+ # Represents the manner and timing in which the successful write or
1762
+ # update of an object is reflected in a subsequent read operation of
1763
+ # that same object.
1764
+ #
1765
+ # @return [Types::ListObjectChildrenResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1766
+ #
1767
+ # * {Types::ListObjectChildrenResponse#children #children} => Hash&lt;String,String&gt;
1768
+ # * {Types::ListObjectChildrenResponse#next_token #next_token} => String
1769
+ #
1770
+ # @example Request syntax with placeholder values
1771
+ #
1772
+ # resp = client.list_object_children({
1773
+ # directory_arn: "Arn", # required
1774
+ # object_reference: { # required
1775
+ # selector: "SelectorObjectReference",
1776
+ # },
1777
+ # next_token: "NextToken",
1778
+ # max_results: 1,
1779
+ # consistency_level: "SERIALIZABLE", # accepts SERIALIZABLE, EVENTUAL
1780
+ # })
1781
+ #
1782
+ # @example Response structure
1783
+ #
1784
+ # resp.children #=> Hash
1785
+ # resp.children["LinkName"] #=> String
1786
+ # resp.next_token #=> String
1787
+ #
1788
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/ListObjectChildren AWS API Documentation
1789
+ #
1790
+ # @overload list_object_children(params = {})
1791
+ # @param [Hash] params ({})
1792
+ def list_object_children(params = {}, options = {})
1793
+ req = build_request(:list_object_children, params)
1794
+ req.send_request(options)
1795
+ end
1796
+
1797
+ # Lists parent objects associated with a given object in pagination
1798
+ # fashion.
1799
+ #
1800
+ # @option params [required, String] :directory_arn
1801
+ # ARN associated with the Directory where the object resides. For more
1802
+ # information, see arns.
1803
+ #
1804
+ # @option params [required, Types::ObjectReference] :object_reference
1805
+ # Reference that identifies the object for which parent objects are
1806
+ # being listed.
1807
+ #
1808
+ # @option params [String] :next_token
1809
+ # Token used for pagination.
1810
+ #
1811
+ # @option params [Integer] :max_results
1812
+ # Maximum number of items to be retrieved in a single call. This is an
1813
+ # approximate number.
1814
+ #
1815
+ # @option params [String] :consistency_level
1816
+ # Represents the manner and timing in which the successful write or
1817
+ # update of an object is reflected in a subsequent read operation of
1818
+ # that same object.
1819
+ #
1820
+ # @return [Types::ListObjectParentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1821
+ #
1822
+ # * {Types::ListObjectParentsResponse#parents #parents} => Hash&lt;String,String&gt;
1823
+ # * {Types::ListObjectParentsResponse#next_token #next_token} => String
1824
+ #
1825
+ # @example Request syntax with placeholder values
1826
+ #
1827
+ # resp = client.list_object_parents({
1828
+ # directory_arn: "Arn", # required
1829
+ # object_reference: { # required
1830
+ # selector: "SelectorObjectReference",
1831
+ # },
1832
+ # next_token: "NextToken",
1833
+ # max_results: 1,
1834
+ # consistency_level: "SERIALIZABLE", # accepts SERIALIZABLE, EVENTUAL
1835
+ # })
1836
+ #
1837
+ # @example Response structure
1838
+ #
1839
+ # resp.parents #=> Hash
1840
+ # resp.parents["ObjectIdentifier"] #=> String
1841
+ # resp.next_token #=> String
1842
+ #
1843
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/ListObjectParents AWS API Documentation
1844
+ #
1845
+ # @overload list_object_parents(params = {})
1846
+ # @param [Hash] params ({})
1847
+ def list_object_parents(params = {}, options = {})
1848
+ req = build_request(:list_object_parents, params)
1849
+ req.send_request(options)
1850
+ end
1851
+
1852
+ # Returns policies attached to an object in pagination fashion.
1853
+ #
1854
+ # @option params [required, String] :directory_arn
1855
+ # ARN associated with the Directory where objects reside. For more
1856
+ # information, see arns.
1857
+ #
1858
+ # @option params [required, Types::ObjectReference] :object_reference
1859
+ # Reference that identifies the object for which policies will be
1860
+ # listed.
1861
+ #
1862
+ # @option params [String] :next_token
1863
+ # Token used for pagination.
1864
+ #
1865
+ # @option params [Integer] :max_results
1866
+ # Maximum number of items to be retrieved in a single call. This is an
1867
+ # approximate number.
1868
+ #
1869
+ # @option params [String] :consistency_level
1870
+ # Represents the manner and timing in which the successful write or
1871
+ # update of an object is reflected in a subsequent read operation of
1872
+ # that same object.
1873
+ #
1874
+ # @return [Types::ListObjectPoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1875
+ #
1876
+ # * {Types::ListObjectPoliciesResponse#attached_policy_ids #attached_policy_ids} => Array&lt;String&gt;
1877
+ # * {Types::ListObjectPoliciesResponse#next_token #next_token} => String
1878
+ #
1879
+ # @example Request syntax with placeholder values
1880
+ #
1881
+ # resp = client.list_object_policies({
1882
+ # directory_arn: "Arn", # required
1883
+ # object_reference: { # required
1884
+ # selector: "SelectorObjectReference",
1885
+ # },
1886
+ # next_token: "NextToken",
1887
+ # max_results: 1,
1888
+ # consistency_level: "SERIALIZABLE", # accepts SERIALIZABLE, EVENTUAL
1889
+ # })
1890
+ #
1891
+ # @example Response structure
1892
+ #
1893
+ # resp.attached_policy_ids #=> Array
1894
+ # resp.attached_policy_ids[0] #=> String
1895
+ # resp.next_token #=> String
1896
+ #
1897
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/ListObjectPolicies AWS API Documentation
1898
+ #
1899
+ # @overload list_object_policies(params = {})
1900
+ # @param [Hash] params ({})
1901
+ def list_object_policies(params = {}, options = {})
1902
+ req = build_request(:list_object_policies, params)
1903
+ req.send_request(options)
1904
+ end
1905
+
1906
+ # Returns all of the ObjectIdentifiers to which a given policy is
1907
+ # attached.
1908
+ #
1909
+ # @option params [required, String] :directory_arn
1910
+ # ARN associated with the Directory where objects reside. For more
1911
+ # information, see arns.
1912
+ #
1913
+ # @option params [required, Types::ObjectReference] :policy_reference
1914
+ # Reference that identifies the policy object.
1915
+ #
1916
+ # @option params [String] :next_token
1917
+ # Token used for pagination.
1918
+ #
1919
+ # @option params [Integer] :max_results
1920
+ # Maximum number of items to be retrieved in a single call. This is an
1921
+ # approximate number.
1922
+ #
1923
+ # @option params [String] :consistency_level
1924
+ # Represents the manner and timing in which the successful write or
1925
+ # update of an object is reflected in a subsequent read operation of
1926
+ # that same object.
1927
+ #
1928
+ # @return [Types::ListPolicyAttachmentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1929
+ #
1930
+ # * {Types::ListPolicyAttachmentsResponse#object_identifiers #object_identifiers} => Array&lt;String&gt;
1931
+ # * {Types::ListPolicyAttachmentsResponse#next_token #next_token} => String
1932
+ #
1933
+ # @example Request syntax with placeholder values
1934
+ #
1935
+ # resp = client.list_policy_attachments({
1936
+ # directory_arn: "Arn", # required
1937
+ # policy_reference: { # required
1938
+ # selector: "SelectorObjectReference",
1939
+ # },
1940
+ # next_token: "NextToken",
1941
+ # max_results: 1,
1942
+ # consistency_level: "SERIALIZABLE", # accepts SERIALIZABLE, EVENTUAL
1943
+ # })
1944
+ #
1945
+ # @example Response structure
1946
+ #
1947
+ # resp.object_identifiers #=> Array
1948
+ # resp.object_identifiers[0] #=> String
1949
+ # resp.next_token #=> String
1950
+ #
1951
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/ListPolicyAttachments AWS API Documentation
1952
+ #
1953
+ # @overload list_policy_attachments(params = {})
1954
+ # @param [Hash] params ({})
1955
+ def list_policy_attachments(params = {}, options = {})
1956
+ req = build_request(:list_policy_attachments, params)
1957
+ req.send_request(options)
1958
+ end
1959
+
1960
+ # Retrieves published schema ARNs.
1961
+ #
1962
+ # @option params [String] :next_token
1963
+ # The pagination token.
1964
+ #
1965
+ # @option params [Integer] :max_results
1966
+ # The maximum number of results to retrieve.
1967
+ #
1968
+ # @return [Types::ListPublishedSchemaArnsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1969
+ #
1970
+ # * {Types::ListPublishedSchemaArnsResponse#schema_arns #schema_arns} => Array&lt;String&gt;
1971
+ # * {Types::ListPublishedSchemaArnsResponse#next_token #next_token} => String
1972
+ #
1973
+ # @example Request syntax with placeholder values
1974
+ #
1975
+ # resp = client.list_published_schema_arns({
1976
+ # next_token: "NextToken",
1977
+ # max_results: 1,
1978
+ # })
1979
+ #
1980
+ # @example Response structure
1981
+ #
1982
+ # resp.schema_arns #=> Array
1983
+ # resp.schema_arns[0] #=> String
1984
+ # resp.next_token #=> String
1985
+ #
1986
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/ListPublishedSchemaArns AWS API Documentation
1987
+ #
1988
+ # @overload list_published_schema_arns(params = {})
1989
+ # @param [Hash] params ({})
1990
+ def list_published_schema_arns(params = {}, options = {})
1991
+ req = build_request(:list_published_schema_arns, params)
1992
+ req.send_request(options)
1993
+ end
1994
+
1995
+ # Returns tags for a resource. Tagging is currently supported only for
1996
+ # directories with a limit of 50 tags per directory. All 50 tags are
1997
+ # returned for a given directory with this API call.
1998
+ #
1999
+ # @option params [required, String] :resource_arn
2000
+ # ARN of the resource. Tagging is only supported for directories.
2001
+ #
2002
+ # @option params [String] :next_token
2003
+ # Next token used for pagination. This is for future use. Currently
2004
+ # pagination is not supported for tagging.
2005
+ #
2006
+ # @option params [Integer] :max_results
2007
+ # The MaxResults parameter sets the maximum number of results returned
2008
+ # in a single page. This is for future use and is not supported
2009
+ # currently.
2010
+ #
2011
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2012
+ #
2013
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
2014
+ # * {Types::ListTagsForResourceResponse#next_token #next_token} => String
2015
+ #
2016
+ # @example Request syntax with placeholder values
2017
+ #
2018
+ # resp = client.list_tags_for_resource({
2019
+ # resource_arn: "Arn", # required
2020
+ # next_token: "NextToken",
2021
+ # max_results: 1,
2022
+ # })
2023
+ #
2024
+ # @example Response structure
2025
+ #
2026
+ # resp.tags #=> Array
2027
+ # resp.tags[0].key #=> String
2028
+ # resp.tags[0].value #=> String
2029
+ # resp.next_token #=> String
2030
+ #
2031
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/ListTagsForResource AWS API Documentation
2032
+ #
2033
+ # @overload list_tags_for_resource(params = {})
2034
+ # @param [Hash] params ({})
2035
+ def list_tags_for_resource(params = {}, options = {})
2036
+ req = build_request(:list_tags_for_resource, params)
2037
+ req.send_request(options)
2038
+ end
2039
+
2040
+ # Lists all policies from the root of the Directory to the object
2041
+ # specified. If there are no policies present, an empty list is
2042
+ # returned. If policies are present, and if some objects don't have the
2043
+ # policies attached, it returns the objectIdentifier for such objects.
2044
+ # If policies are present, it returns objectIdentifier, policyId, and
2045
+ # policyType. Paths that don't lead to the root from the target object
2046
+ # are ignored.
2047
+ #
2048
+ # @option params [required, String] :directory_arn
2049
+ # ARN associated with the Directory. For more information, see arns.
2050
+ #
2051
+ # @option params [required, Types::ObjectReference] :object_reference
2052
+ # Reference that identifies the object whose policies will be looked up.
2053
+ #
2054
+ # @option params [String] :next_token
2055
+ # The token to request the next page of results.
2056
+ #
2057
+ # @option params [Integer] :max_results
2058
+ # Maximum number of items to be retrieved in a single call. This is an
2059
+ # approximate number.
2060
+ #
2061
+ # @return [Types::LookupPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2062
+ #
2063
+ # * {Types::LookupPolicyResponse#policy_to_path_list #policy_to_path_list} => Array&lt;Types::PolicyToPath&gt;
2064
+ # * {Types::LookupPolicyResponse#next_token #next_token} => String
2065
+ #
2066
+ # @example Request syntax with placeholder values
2067
+ #
2068
+ # resp = client.lookup_policy({
2069
+ # directory_arn: "Arn", # required
2070
+ # object_reference: { # required
2071
+ # selector: "SelectorObjectReference",
2072
+ # },
2073
+ # next_token: "NextToken",
2074
+ # max_results: 1,
2075
+ # })
2076
+ #
2077
+ # @example Response structure
2078
+ #
2079
+ # resp.policy_to_path_list #=> Array
2080
+ # resp.policy_to_path_list[0].path #=> String
2081
+ # resp.policy_to_path_list[0].policies #=> Array
2082
+ # resp.policy_to_path_list[0].policies[0].policy_id #=> String
2083
+ # resp.policy_to_path_list[0].policies[0].object_identifier #=> String
2084
+ # resp.policy_to_path_list[0].policies[0].policy_type #=> String
2085
+ # resp.next_token #=> String
2086
+ #
2087
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/LookupPolicy AWS API Documentation
2088
+ #
2089
+ # @overload lookup_policy(params = {})
2090
+ # @param [Hash] params ({})
2091
+ def lookup_policy(params = {}, options = {})
2092
+ req = build_request(:lookup_policy, params)
2093
+ req.send_request(options)
2094
+ end
2095
+
2096
+ # Publishes a development schema with a version. If description and
2097
+ # attributes are specified, PublishSchema overrides the development
2098
+ # schema description and attributes. If not, the development schema
2099
+ # description and attributes are used.
2100
+ #
2101
+ # @option params [required, String] :development_schema_arn
2102
+ # ARN associated with the development schema. For more information, see
2103
+ # arns.
2104
+ #
2105
+ # @option params [required, String] :version
2106
+ # Version under which the schema will be published.
2107
+ #
2108
+ # @option params [String] :name
2109
+ # New name under which the schema will be published. If this is not
2110
+ # provided, the development schema is considered.
2111
+ #
2112
+ # @return [Types::PublishSchemaResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2113
+ #
2114
+ # * {Types::PublishSchemaResponse#published_schema_arn #published_schema_arn} => String
2115
+ #
2116
+ # @example Request syntax with placeholder values
2117
+ #
2118
+ # resp = client.publish_schema({
2119
+ # development_schema_arn: "Arn", # required
2120
+ # version: "Version", # required
2121
+ # name: "SchemaName",
2122
+ # })
2123
+ #
2124
+ # @example Response structure
2125
+ #
2126
+ # resp.published_schema_arn #=> String
2127
+ #
2128
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/PublishSchema AWS API Documentation
2129
+ #
2130
+ # @overload publish_schema(params = {})
2131
+ # @param [Hash] params ({})
2132
+ def publish_schema(params = {}, options = {})
2133
+ req = build_request(:publish_schema, params)
2134
+ req.send_request(options)
2135
+ end
2136
+
2137
+ # Allows a schema to be updated using JSON upload. Only available for
2138
+ # development schemas. See [JSON Schema Format][1] for more information.
2139
+ #
2140
+ #
2141
+ #
2142
+ # [1]: http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_schemas.html#jsonformat
2143
+ #
2144
+ # @option params [required, String] :schema_arn
2145
+ # The ARN of the schema to update.
2146
+ #
2147
+ # @option params [required, String] :document
2148
+ # The replacement JSON schema.
2149
+ #
2150
+ # @return [Types::PutSchemaFromJsonResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2151
+ #
2152
+ # * {Types::PutSchemaFromJsonResponse#arn #arn} => String
2153
+ #
2154
+ # @example Request syntax with placeholder values
2155
+ #
2156
+ # resp = client.put_schema_from_json({
2157
+ # schema_arn: "Arn", # required
2158
+ # document: "SchemaJsonDocument", # required
2159
+ # })
2160
+ #
2161
+ # @example Response structure
2162
+ #
2163
+ # resp.arn #=> String
2164
+ #
2165
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/PutSchemaFromJson AWS API Documentation
2166
+ #
2167
+ # @overload put_schema_from_json(params = {})
2168
+ # @param [Hash] params ({})
2169
+ def put_schema_from_json(params = {}, options = {})
2170
+ req = build_request(:put_schema_from_json, params)
2171
+ req.send_request(options)
2172
+ end
2173
+
2174
+ # Removes the specified facet from the specified object.
2175
+ #
2176
+ # @option params [required, String] :directory_arn
2177
+ # The ARN of the directory in which the object resides.
2178
+ #
2179
+ # @option params [required, Types::SchemaFacet] :schema_facet
2180
+ # The facet to remove.
2181
+ #
2182
+ # @option params [required, Types::ObjectReference] :object_reference
2183
+ # A reference to the object to remove the facet from.
2184
+ #
2185
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2186
+ #
2187
+ # @example Request syntax with placeholder values
2188
+ #
2189
+ # resp = client.remove_facet_from_object({
2190
+ # directory_arn: "Arn", # required
2191
+ # schema_facet: { # required
2192
+ # schema_arn: "Arn",
2193
+ # facet_name: "FacetName",
2194
+ # },
2195
+ # object_reference: { # required
2196
+ # selector: "SelectorObjectReference",
2197
+ # },
2198
+ # })
2199
+ #
2200
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/RemoveFacetFromObject AWS API Documentation
2201
+ #
2202
+ # @overload remove_facet_from_object(params = {})
2203
+ # @param [Hash] params ({})
2204
+ def remove_facet_from_object(params = {}, options = {})
2205
+ req = build_request(:remove_facet_from_object, params)
2206
+ req.send_request(options)
2207
+ end
2208
+
2209
+ # API for adding tags to a resource.
2210
+ #
2211
+ # @option params [required, String] :resource_arn
2212
+ # ARN of the resource. Tagging is only supported for directories.
2213
+ #
2214
+ # @option params [required, Array<Types::Tag>] :tags
2215
+ # List of tag key value pairs.
2216
+ #
2217
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2218
+ #
2219
+ # @example Request syntax with placeholder values
2220
+ #
2221
+ # resp = client.tag_resource({
2222
+ # resource_arn: "Arn", # required
2223
+ # tags: [ # required
2224
+ # {
2225
+ # key: "TagKey",
2226
+ # value: "TagValue",
2227
+ # },
2228
+ # ],
2229
+ # })
2230
+ #
2231
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/TagResource AWS API Documentation
2232
+ #
2233
+ # @overload tag_resource(params = {})
2234
+ # @param [Hash] params ({})
2235
+ def tag_resource(params = {}, options = {})
2236
+ req = build_request(:tag_resource, params)
2237
+ req.send_request(options)
2238
+ end
2239
+
2240
+ # API for removing tags from a resource.
2241
+ #
2242
+ # @option params [required, String] :resource_arn
2243
+ # ARN of the resource. Tagging is only supported for directories.
2244
+ #
2245
+ # @option params [required, Array<String>] :tag_keys
2246
+ # Keys of the tag that needs to be removed from the resource.
2247
+ #
2248
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2249
+ #
2250
+ # @example Request syntax with placeholder values
2251
+ #
2252
+ # resp = client.untag_resource({
2253
+ # resource_arn: "Arn", # required
2254
+ # tag_keys: ["TagKey"], # required
2255
+ # })
2256
+ #
2257
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/UntagResource AWS API Documentation
2258
+ #
2259
+ # @overload untag_resource(params = {})
2260
+ # @param [Hash] params ({})
2261
+ def untag_resource(params = {}, options = {})
2262
+ req = build_request(:untag_resource, params)
2263
+ req.send_request(options)
2264
+ end
2265
+
2266
+ # Does the following:
2267
+ #
2268
+ # 1. Adds new Attributes, Rules, or ObjectTypes.
2269
+ #
2270
+ # 2. Updates existing Attributes, Rules, or ObjectTypes.
2271
+ #
2272
+ # 3. Deletes existing Attributes, Rules, or ObjectTypes.
2273
+ #
2274
+ # @option params [required, String] :schema_arn
2275
+ # ARN associated with the Facet. For more information, see arns.
2276
+ #
2277
+ # @option params [required, String] :name
2278
+ #
2279
+ # @option params [Array<Types::FacetAttributeUpdate>] :attribute_updates
2280
+ # List of attributes that need to be updated in a given schema Facet.
2281
+ # Each attribute is followed by AttributeAction, which specifies the
2282
+ # type of update operation to perform.
2283
+ #
2284
+ # @option params [String] :object_type
2285
+ # Object type associated with the facet. See
2286
+ # CreateFacetRequest$ObjectType for more details.
2287
+ #
2288
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2289
+ #
2290
+ # @example Request syntax with placeholder values
2291
+ #
2292
+ # resp = client.update_facet({
2293
+ # schema_arn: "Arn", # required
2294
+ # name: "FacetName", # required
2295
+ # attribute_updates: [
2296
+ # {
2297
+ # attribute: {
2298
+ # name: "AttributeName", # required
2299
+ # attribute_definition: {
2300
+ # type: "STRING", # required, accepts STRING, BINARY, BOOLEAN, NUMBER, DATETIME
2301
+ # default_value: {
2302
+ # string_value: "StringAttributeValue",
2303
+ # binary_value: "data",
2304
+ # boolean_value: false,
2305
+ # number_value: "NumberAttributeValue",
2306
+ # datetime_value: Time.now,
2307
+ # },
2308
+ # is_immutable: false,
2309
+ # rules: {
2310
+ # "RuleKey" => {
2311
+ # type: "BINARY_LENGTH", # accepts BINARY_LENGTH, NUMBER_COMPARISON, STRING_FROM_SET, STRING_LENGTH
2312
+ # parameters: {
2313
+ # "RuleParameterKey" => "RuleParameterValue",
2314
+ # },
2315
+ # },
2316
+ # },
2317
+ # },
2318
+ # attribute_reference: {
2319
+ # target_facet_name: "FacetName", # required
2320
+ # target_attribute_name: "AttributeName", # required
2321
+ # },
2322
+ # required_behavior: "REQUIRED_ALWAYS", # accepts REQUIRED_ALWAYS, NOT_REQUIRED
2323
+ # },
2324
+ # action: "CREATE_OR_UPDATE", # accepts CREATE_OR_UPDATE, DELETE
2325
+ # },
2326
+ # ],
2327
+ # object_type: "NODE", # accepts NODE, LEAF_NODE, POLICY, INDEX
2328
+ # })
2329
+ #
2330
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/UpdateFacet AWS API Documentation
2331
+ #
2332
+ # @overload update_facet(params = {})
2333
+ # @param [Hash] params ({})
2334
+ def update_facet(params = {}, options = {})
2335
+ req = build_request(:update_facet, params)
2336
+ req.send_request(options)
2337
+ end
2338
+
2339
+ # Updates a given object's attributes.
2340
+ #
2341
+ # @option params [required, String] :directory_arn
2342
+ # ARN associated with the Directory where the object resides. For more
2343
+ # information, see arns.
2344
+ #
2345
+ # @option params [required, Types::ObjectReference] :object_reference
2346
+ # Reference that identifies the object.
2347
+ #
2348
+ # @option params [required, Array<Types::ObjectAttributeUpdate>] :attribute_updates
2349
+ # Attributes update structure.
2350
+ #
2351
+ # @return [Types::UpdateObjectAttributesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2352
+ #
2353
+ # * {Types::UpdateObjectAttributesResponse#object_identifier #object_identifier} => String
2354
+ #
2355
+ # @example Request syntax with placeholder values
2356
+ #
2357
+ # resp = client.update_object_attributes({
2358
+ # directory_arn: "Arn", # required
2359
+ # object_reference: { # required
2360
+ # selector: "SelectorObjectReference",
2361
+ # },
2362
+ # attribute_updates: [ # required
2363
+ # {
2364
+ # object_attribute_key: {
2365
+ # schema_arn: "Arn", # required
2366
+ # facet_name: "FacetName", # required
2367
+ # name: "AttributeName", # required
2368
+ # },
2369
+ # object_attribute_action: {
2370
+ # object_attribute_action_type: "CREATE_OR_UPDATE", # accepts CREATE_OR_UPDATE, DELETE
2371
+ # object_attribute_update_value: {
2372
+ # string_value: "StringAttributeValue",
2373
+ # binary_value: "data",
2374
+ # boolean_value: false,
2375
+ # number_value: "NumberAttributeValue",
2376
+ # datetime_value: Time.now,
2377
+ # },
2378
+ # },
2379
+ # },
2380
+ # ],
2381
+ # })
2382
+ #
2383
+ # @example Response structure
2384
+ #
2385
+ # resp.object_identifier #=> String
2386
+ #
2387
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/UpdateObjectAttributes AWS API Documentation
2388
+ #
2389
+ # @overload update_object_attributes(params = {})
2390
+ # @param [Hash] params ({})
2391
+ def update_object_attributes(params = {}, options = {})
2392
+ req = build_request(:update_object_attributes, params)
2393
+ req.send_request(options)
2394
+ end
2395
+
2396
+ # Updates the schema name with a new name. Only development schema names
2397
+ # can be updated.
2398
+ #
2399
+ # @option params [required, String] :schema_arn
2400
+ # ARN of the development schema. For more information, see arns.
2401
+ #
2402
+ # @option params [required, String] :name
2403
+ # Name of the schema.
2404
+ #
2405
+ # @return [Types::UpdateSchemaResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2406
+ #
2407
+ # * {Types::UpdateSchemaResponse#schema_arn #schema_arn} => String
2408
+ #
2409
+ # @example Request syntax with placeholder values
2410
+ #
2411
+ # resp = client.update_schema({
2412
+ # schema_arn: "Arn", # required
2413
+ # name: "SchemaName", # required
2414
+ # })
2415
+ #
2416
+ # @example Response structure
2417
+ #
2418
+ # resp.schema_arn #=> String
2419
+ #
2420
+ # @see http://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/UpdateSchema AWS API Documentation
2421
+ #
2422
+ # @overload update_schema(params = {})
2423
+ # @param [Hash] params ({})
2424
+ def update_schema(params = {}, options = {})
2425
+ req = build_request(:update_schema, params)
2426
+ req.send_request(options)
2427
+ end
2428
+
2429
+ # @!endgroup
2430
+
2431
+ # @param params ({})
2432
+ # @api private
2433
+ def build_request(operation_name, params = {})
2434
+ handlers = @handlers.for(operation_name)
2435
+ context = Seahorse::Client::RequestContext.new(
2436
+ operation_name: operation_name,
2437
+ operation: config.api.operation(operation_name),
2438
+ client: self,
2439
+ params: params,
2440
+ config: config)
2441
+ context[:gem_name] = 'aws-sdk-clouddirectory'
2442
+ context[:gem_version] = '1.0.0.rc1'
2443
+ Seahorse::Client::Request.new(handlers, context)
2444
+ end
2445
+
2446
+ # @api private
2447
+ # @deprecated
2448
+ def waiter_names
2449
+ []
2450
+ end
2451
+
2452
+ class << self
2453
+
2454
+ # @api private
2455
+ attr_reader :identifier
2456
+
2457
+ # @api private
2458
+ def errors_module
2459
+ Errors
2460
+ end
2461
+
2462
+ end
2463
+ end
2464
+ end