aws-sdk-cleanrooms 1.0.0

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.
@@ -0,0 +1,2094 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'seahorse/client/plugins/content_length.rb'
11
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
+ require 'aws-sdk-core/plugins/logging.rb'
13
+ require 'aws-sdk-core/plugins/param_converter.rb'
14
+ require 'aws-sdk-core/plugins/param_validator.rb'
15
+ require 'aws-sdk-core/plugins/user_agent.rb'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
+ require 'aws-sdk-core/plugins/retry_errors.rb'
18
+ require 'aws-sdk-core/plugins/global_configuration.rb'
19
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
+ require 'aws-sdk-core/plugins/response_paging.rb'
23
+ require 'aws-sdk-core/plugins/stub_responses.rb'
24
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
32
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
35
+
36
+ Aws::Plugins::GlobalConfiguration.add_identifier(:cleanrooms)
37
+
38
+ module Aws::CleanRooms
39
+ # An API client for CleanRooms. To construct a client, you need to configure a `:region` and `:credentials`.
40
+ #
41
+ # client = Aws::CleanRooms::Client.new(
42
+ # region: region_name,
43
+ # credentials: credentials,
44
+ # # ...
45
+ # )
46
+ #
47
+ # For details on configuring region and credentials see
48
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
49
+ #
50
+ # See {#initialize} for a full list of supported configuration options.
51
+ class Client < Seahorse::Client::Base
52
+
53
+ include Aws::ClientStubs
54
+
55
+ @identifier = :cleanrooms
56
+
57
+ set_api(ClientApi::API)
58
+
59
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
60
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
61
+ add_plugin(Aws::Plugins::Logging)
62
+ add_plugin(Aws::Plugins::ParamConverter)
63
+ add_plugin(Aws::Plugins::ParamValidator)
64
+ add_plugin(Aws::Plugins::UserAgent)
65
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
66
+ add_plugin(Aws::Plugins::RetryErrors)
67
+ add_plugin(Aws::Plugins::GlobalConfiguration)
68
+ add_plugin(Aws::Plugins::RegionalEndpoint)
69
+ add_plugin(Aws::Plugins::EndpointDiscovery)
70
+ add_plugin(Aws::Plugins::EndpointPattern)
71
+ add_plugin(Aws::Plugins::ResponsePaging)
72
+ add_plugin(Aws::Plugins::StubResponses)
73
+ add_plugin(Aws::Plugins::IdempotencyToken)
74
+ add_plugin(Aws::Plugins::JsonvalueConverter)
75
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
76
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
77
+ add_plugin(Aws::Plugins::TransferEncoding)
78
+ add_plugin(Aws::Plugins::HttpChecksum)
79
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
+ add_plugin(Aws::Plugins::DefaultsMode)
81
+ add_plugin(Aws::Plugins::RecursionDetection)
82
+ add_plugin(Aws::Plugins::Sign)
83
+ add_plugin(Aws::Plugins::Protocols::RestJson)
84
+ add_plugin(Aws::CleanRooms::Plugins::Endpoints)
85
+
86
+ # @overload initialize(options)
87
+ # @param [Hash] options
88
+ # @option options [required, Aws::CredentialProvider] :credentials
89
+ # Your AWS credentials. This can be an instance of any one of the
90
+ # following classes:
91
+ #
92
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
93
+ # credentials.
94
+ #
95
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
96
+ # shared file, such as `~/.aws/config`.
97
+ #
98
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
99
+ #
100
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
101
+ # assume a role after providing credentials via the web.
102
+ #
103
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
104
+ # access token generated from `aws login`.
105
+ #
106
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
107
+ # process that outputs to stdout.
108
+ #
109
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
110
+ # from an EC2 IMDS on an EC2 instance.
111
+ #
112
+ # * `Aws::ECSCredentials` - Used for loading credentials from
113
+ # instances running in ECS.
114
+ #
115
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
116
+ # from the Cognito Identity service.
117
+ #
118
+ # When `:credentials` are not configured directly, the following
119
+ # locations will be searched for credentials:
120
+ #
121
+ # * `Aws.config[:credentials]`
122
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
123
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
124
+ # * `~/.aws/credentials`
125
+ # * `~/.aws/config`
126
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
127
+ # are very aggressive. Construct and pass an instance of
128
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
129
+ # enable retries and extended timeouts. Instance profile credential
130
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
131
+ # to true.
132
+ #
133
+ # @option options [required, String] :region
134
+ # The AWS region to connect to. The configured `:region` is
135
+ # used to determine the service `:endpoint`. When not passed,
136
+ # a default `:region` is searched for in the following locations:
137
+ #
138
+ # * `Aws.config[:region]`
139
+ # * `ENV['AWS_REGION']`
140
+ # * `ENV['AMAZON_REGION']`
141
+ # * `ENV['AWS_DEFAULT_REGION']`
142
+ # * `~/.aws/credentials`
143
+ # * `~/.aws/config`
144
+ #
145
+ # @option options [String] :access_key_id
146
+ #
147
+ # @option options [Boolean] :active_endpoint_cache (false)
148
+ # When set to `true`, a thread polling for endpoints will be running in
149
+ # the background every 60 secs (default). Defaults to `false`.
150
+ #
151
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
152
+ # Used only in `adaptive` retry mode. When true, the request will sleep
153
+ # until there is sufficent client side capacity to retry the request.
154
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
155
+ # not retry instead of sleeping.
156
+ #
157
+ # @option options [Boolean] :client_side_monitoring (false)
158
+ # When `true`, client-side metrics will be collected for all API requests from
159
+ # this client.
160
+ #
161
+ # @option options [String] :client_side_monitoring_client_id ("")
162
+ # Allows you to provide an identifier for this client which will be attached to
163
+ # all generated client side metrics. Defaults to an empty string.
164
+ #
165
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
166
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
167
+ # side monitoring agent is running on, where client metrics will be published via UDP.
168
+ #
169
+ # @option options [Integer] :client_side_monitoring_port (31000)
170
+ # Required for publishing client metrics. The port that the client side monitoring
171
+ # agent is running on, where client metrics will be published via UDP.
172
+ #
173
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
174
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
175
+ # will use the Client Side Monitoring Agent Publisher.
176
+ #
177
+ # @option options [Boolean] :convert_params (true)
178
+ # When `true`, an attempt is made to coerce request parameters into
179
+ # the required types.
180
+ #
181
+ # @option options [Boolean] :correct_clock_skew (true)
182
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
183
+ # a clock skew correction and retry requests with skewed client clocks.
184
+ #
185
+ # @option options [String] :defaults_mode ("legacy")
186
+ # See {Aws::DefaultsModeConfiguration} for a list of the
187
+ # accepted modes and the configuration defaults that are included.
188
+ #
189
+ # @option options [Boolean] :disable_host_prefix_injection (false)
190
+ # Set to true to disable SDK automatically adding host prefix
191
+ # to default service endpoint when available.
192
+ #
193
+ # @option options [String] :endpoint
194
+ # The client endpoint is normally constructed from the `:region`
195
+ # option. You should only configure an `:endpoint` when connecting
196
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
197
+ #
198
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
199
+ # Used for the maximum size limit of the LRU cache storing endpoints data
200
+ # for endpoint discovery enabled operations. Defaults to 1000.
201
+ #
202
+ # @option options [Integer] :endpoint_cache_max_threads (10)
203
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
204
+ #
205
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
206
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
207
+ # Use this option to config the time interval in seconds for making
208
+ # requests fetching endpoints information. Defaults to 60 sec.
209
+ #
210
+ # @option options [Boolean] :endpoint_discovery (false)
211
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
212
+ #
213
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
214
+ # The log formatter.
215
+ #
216
+ # @option options [Symbol] :log_level (:info)
217
+ # The log level to send messages to the `:logger` at.
218
+ #
219
+ # @option options [Logger] :logger
220
+ # The Logger instance to send log messages to. If this option
221
+ # is not set, logging will be disabled.
222
+ #
223
+ # @option options [Integer] :max_attempts (3)
224
+ # An integer representing the maximum number attempts that will be made for
225
+ # a single request, including the initial attempt. For example,
226
+ # setting this value to 5 will result in a request being retried up to
227
+ # 4 times. Used in `standard` and `adaptive` retry modes.
228
+ #
229
+ # @option options [String] :profile ("default")
230
+ # Used when loading credentials from the shared credentials file
231
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
232
+ #
233
+ # @option options [Proc] :retry_backoff
234
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
235
+ # This option is only used in the `legacy` retry mode.
236
+ #
237
+ # @option options [Float] :retry_base_delay (0.3)
238
+ # The base delay in seconds used by the default backoff function. This option
239
+ # is only used in the `legacy` retry mode.
240
+ #
241
+ # @option options [Symbol] :retry_jitter (:none)
242
+ # A delay randomiser function used by the default backoff function.
243
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
244
+ # otherwise a Proc that takes and returns a number. This option is only used
245
+ # in the `legacy` retry mode.
246
+ #
247
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
248
+ #
249
+ # @option options [Integer] :retry_limit (3)
250
+ # The maximum number of times to retry failed requests. Only
251
+ # ~ 500 level server errors and certain ~ 400 level client errors
252
+ # are retried. Generally, these are throttling errors, data
253
+ # checksum errors, networking errors, timeout errors, auth errors,
254
+ # endpoint discovery, and errors from expired credentials.
255
+ # This option is only used in the `legacy` retry mode.
256
+ #
257
+ # @option options [Integer] :retry_max_delay (0)
258
+ # The maximum number of seconds to delay between retries (0 for no limit)
259
+ # used by the default backoff function. This option is only used in the
260
+ # `legacy` retry mode.
261
+ #
262
+ # @option options [String] :retry_mode ("legacy")
263
+ # Specifies which retry algorithm to use. Values are:
264
+ #
265
+ # * `legacy` - The pre-existing retry behavior. This is default value if
266
+ # no retry mode is provided.
267
+ #
268
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
269
+ # This includes support for retry quotas, which limit the number of
270
+ # unsuccessful retries a client can make.
271
+ #
272
+ # * `adaptive` - An experimental retry mode that includes all the
273
+ # functionality of `standard` mode along with automatic client side
274
+ # throttling. This is a provisional mode that may change behavior
275
+ # in the future.
276
+ #
277
+ #
278
+ # @option options [String] :secret_access_key
279
+ #
280
+ # @option options [String] :session_token
281
+ #
282
+ # @option options [Boolean] :stub_responses (false)
283
+ # Causes the client to return stubbed responses. By default
284
+ # fake responses are generated and returned. You can specify
285
+ # the response data to return or errors to raise by calling
286
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
287
+ #
288
+ # ** Please note ** When response stubbing is enabled, no HTTP
289
+ # requests are made, and retries are disabled.
290
+ #
291
+ # @option options [Aws::TokenProvider] :token_provider
292
+ # A Bearer Token Provider. This can be an instance of any one of the
293
+ # following classes:
294
+ #
295
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
296
+ # tokens.
297
+ #
298
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
299
+ # access token generated from `aws login`.
300
+ #
301
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
302
+ # will be used to search for tokens configured for your profile in shared configuration files.
303
+ #
304
+ # @option options [Boolean] :use_dualstack_endpoint
305
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
306
+ # will be used if available.
307
+ #
308
+ # @option options [Boolean] :use_fips_endpoint
309
+ # When set to `true`, fips compatible endpoints will be used if available.
310
+ # When a `fips` region is used, the region is normalized and this config
311
+ # is set to `true`.
312
+ #
313
+ # @option options [Boolean] :validate_params (true)
314
+ # When `true`, request parameters are validated before
315
+ # sending the request.
316
+ #
317
+ # @option options [Aws::CleanRooms::EndpointProvider] :endpoint_provider
318
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::CleanRooms::EndpointParameters`
319
+ #
320
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
321
+ # requests through. Formatted like 'http://proxy.com:123'.
322
+ #
323
+ # @option options [Float] :http_open_timeout (15) The number of
324
+ # seconds to wait when opening a HTTP session before raising a
325
+ # `Timeout::Error`.
326
+ #
327
+ # @option options [Float] :http_read_timeout (60) The default
328
+ # number of seconds to wait for response data. This value can
329
+ # safely be set per-request on the session.
330
+ #
331
+ # @option options [Float] :http_idle_timeout (5) The number of
332
+ # seconds a connection is allowed to sit idle before it is
333
+ # considered stale. Stale connections are closed and removed
334
+ # from the pool before making a request.
335
+ #
336
+ # @option options [Float] :http_continue_timeout (1) The number of
337
+ # seconds to wait for a 100-continue response before sending the
338
+ # request body. This option has no effect unless the request has
339
+ # "Expect" header set to "100-continue". Defaults to `nil` which
340
+ # disables this behaviour. This value can safely be set per
341
+ # request on the session.
342
+ #
343
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
344
+ # in seconds.
345
+ #
346
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
347
+ # HTTP debug output will be sent to the `:logger`.
348
+ #
349
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
350
+ # SSL peer certificates are verified when establishing a
351
+ # connection.
352
+ #
353
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
354
+ # certificate authority bundle file that should be used when
355
+ # verifying peer certificates. If you do not pass
356
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
357
+ # will be used if available.
358
+ #
359
+ # @option options [String] :ssl_ca_directory Full path of the
360
+ # directory that contains the unbundled SSL certificate
361
+ # authority files for verifying peer certificates. If you do
362
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
363
+ # system default will be used if available.
364
+ #
365
+ def initialize(*args)
366
+ super
367
+ end
368
+
369
+ # @!group API Operations
370
+
371
+ # Retrieves multiple schemas by their identifiers.
372
+ #
373
+ # @option params [required, String] :collaboration_identifier
374
+ # A unique identifier for the collaboration that the schemas belong to.
375
+ # Currently accepts collaboration ID.
376
+ #
377
+ # @option params [required, Array<String>] :names
378
+ # The names for the schema objects to retrieve.&gt;
379
+ #
380
+ # @return [Types::BatchGetSchemaOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
381
+ #
382
+ # * {Types::BatchGetSchemaOutput#schemas #schemas} => Array&lt;Types::Schema&gt;
383
+ # * {Types::BatchGetSchemaOutput#errors #errors} => Array&lt;Types::BatchGetSchemaError&gt;
384
+ #
385
+ # @example Request syntax with placeholder values
386
+ #
387
+ # resp = client.batch_get_schema({
388
+ # collaboration_identifier: "CollaborationIdentifier", # required
389
+ # names: ["TableAlias"], # required
390
+ # })
391
+ #
392
+ # @example Response structure
393
+ #
394
+ # resp.schemas #=> Array
395
+ # resp.schemas[0].columns #=> Array
396
+ # resp.schemas[0].columns[0].name #=> String
397
+ # resp.schemas[0].columns[0].type #=> String
398
+ # resp.schemas[0].partition_keys #=> Array
399
+ # resp.schemas[0].partition_keys[0].name #=> String
400
+ # resp.schemas[0].partition_keys[0].type #=> String
401
+ # resp.schemas[0].analysis_rule_types #=> Array
402
+ # resp.schemas[0].analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST"
403
+ # resp.schemas[0].analysis_method #=> String, one of "DIRECT_QUERY"
404
+ # resp.schemas[0].creator_account_id #=> String
405
+ # resp.schemas[0].name #=> String
406
+ # resp.schemas[0].collaboration_id #=> String
407
+ # resp.schemas[0].collaboration_arn #=> String
408
+ # resp.schemas[0].description #=> String
409
+ # resp.schemas[0].create_time #=> Time
410
+ # resp.schemas[0].update_time #=> Time
411
+ # resp.schemas[0].type #=> String, one of "TABLE"
412
+ # resp.errors #=> Array
413
+ # resp.errors[0].name #=> String
414
+ # resp.errors[0].code #=> String
415
+ # resp.errors[0].message #=> String
416
+ #
417
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/BatchGetSchema AWS API Documentation
418
+ #
419
+ # @overload batch_get_schema(params = {})
420
+ # @param [Hash] params ({})
421
+ def batch_get_schema(params = {}, options = {})
422
+ req = build_request(:batch_get_schema, params)
423
+ req.send_request(options)
424
+ end
425
+
426
+ # Creates a new collaboration.
427
+ #
428
+ # @option params [required, Array<Types::MemberSpecification>] :members
429
+ # A list of initial members, not including the creator. This list is
430
+ # immutable.
431
+ #
432
+ # @option params [required, String] :name
433
+ # The display name for a collaboration.
434
+ #
435
+ # @option params [required, String] :description
436
+ # A description of the collaboration provided by the collaboration
437
+ # owner.
438
+ #
439
+ # @option params [required, Array<String>] :creator_member_abilities
440
+ # The abilities granted to the collaboration creator.
441
+ #
442
+ # @option params [required, String] :creator_display_name
443
+ # The display name of the collaboration creator.
444
+ #
445
+ # @option params [Types::DataEncryptionMetadata] :data_encryption_metadata
446
+ # The settings for client-side encryption with Cryptographic Computing
447
+ # for Clean Rooms.
448
+ #
449
+ # @option params [required, String] :query_log_status
450
+ # An indicator as to whether query logging has been enabled or disabled
451
+ # for the collaboration.
452
+ #
453
+ # @return [Types::CreateCollaborationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
454
+ #
455
+ # * {Types::CreateCollaborationOutput#collaboration #collaboration} => Types::Collaboration
456
+ #
457
+ # @example Request syntax with placeholder values
458
+ #
459
+ # resp = client.create_collaboration({
460
+ # members: [ # required
461
+ # {
462
+ # account_id: "AccountId", # required
463
+ # member_abilities: ["CAN_QUERY"], # required, accepts CAN_QUERY, CAN_RECEIVE_RESULTS
464
+ # display_name: "DisplayName", # required
465
+ # },
466
+ # ],
467
+ # name: "CollaborationName", # required
468
+ # description: "CollaborationDescription", # required
469
+ # creator_member_abilities: ["CAN_QUERY"], # required, accepts CAN_QUERY, CAN_RECEIVE_RESULTS
470
+ # creator_display_name: "DisplayName", # required
471
+ # data_encryption_metadata: {
472
+ # allow_cleartext: false, # required
473
+ # allow_duplicates: false, # required
474
+ # allow_joins_on_columns_with_different_names: false, # required
475
+ # preserve_nulls: false, # required
476
+ # },
477
+ # query_log_status: "ENABLED", # required, accepts ENABLED, DISABLED
478
+ # })
479
+ #
480
+ # @example Response structure
481
+ #
482
+ # resp.collaboration.id #=> String
483
+ # resp.collaboration.arn #=> String
484
+ # resp.collaboration.name #=> String
485
+ # resp.collaboration.description #=> String
486
+ # resp.collaboration.creator_account_id #=> String
487
+ # resp.collaboration.creator_display_name #=> String
488
+ # resp.collaboration.create_time #=> Time
489
+ # resp.collaboration.update_time #=> Time
490
+ # resp.collaboration.member_status #=> String, one of "INVITED", "ACTIVE", "LEFT", "REMOVED"
491
+ # resp.collaboration.membership_id #=> String
492
+ # resp.collaboration.membership_arn #=> String
493
+ # resp.collaboration.data_encryption_metadata.allow_cleartext #=> Boolean
494
+ # resp.collaboration.data_encryption_metadata.allow_duplicates #=> Boolean
495
+ # resp.collaboration.data_encryption_metadata.allow_joins_on_columns_with_different_names #=> Boolean
496
+ # resp.collaboration.data_encryption_metadata.preserve_nulls #=> Boolean
497
+ # resp.collaboration.query_log_status #=> String, one of "ENABLED", "DISABLED"
498
+ #
499
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CreateCollaboration AWS API Documentation
500
+ #
501
+ # @overload create_collaboration(params = {})
502
+ # @param [Hash] params ({})
503
+ def create_collaboration(params = {}, options = {})
504
+ req = build_request(:create_collaboration, params)
505
+ req.send_request(options)
506
+ end
507
+
508
+ # Creates a new configured table resource.
509
+ #
510
+ # @option params [required, String] :name
511
+ # The name of the configured table.
512
+ #
513
+ # @option params [String] :description
514
+ # A description for the configured table.
515
+ #
516
+ # @option params [required, Types::TableReference] :table_reference
517
+ # A reference to the AWS Glue table being configured.
518
+ #
519
+ # @option params [required, Array<String>] :allowed_columns
520
+ # The columns of the underlying table that can be used by collaborations
521
+ # or analysis rules.
522
+ #
523
+ # @option params [required, String] :analysis_method
524
+ # The analysis method for the configured tables. The only valid value is
525
+ # currently `DIRECT\_QUERY`.
526
+ #
527
+ # @return [Types::CreateConfiguredTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
528
+ #
529
+ # * {Types::CreateConfiguredTableOutput#configured_table #configured_table} => Types::ConfiguredTable
530
+ #
531
+ # @example Request syntax with placeholder values
532
+ #
533
+ # resp = client.create_configured_table({
534
+ # name: "DisplayName", # required
535
+ # description: "TableDescription",
536
+ # table_reference: { # required
537
+ # glue: {
538
+ # table_name: "GlueResourceName", # required
539
+ # database_name: "GlueResourceName", # required
540
+ # },
541
+ # },
542
+ # allowed_columns: ["ColumnName"], # required
543
+ # analysis_method: "DIRECT_QUERY", # required, accepts DIRECT_QUERY
544
+ # })
545
+ #
546
+ # @example Response structure
547
+ #
548
+ # resp.configured_table.id #=> String
549
+ # resp.configured_table.arn #=> String
550
+ # resp.configured_table.name #=> String
551
+ # resp.configured_table.description #=> String
552
+ # resp.configured_table.table_reference.glue.table_name #=> String
553
+ # resp.configured_table.table_reference.glue.database_name #=> String
554
+ # resp.configured_table.create_time #=> Time
555
+ # resp.configured_table.update_time #=> Time
556
+ # resp.configured_table.analysis_rule_types #=> Array
557
+ # resp.configured_table.analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST"
558
+ # resp.configured_table.analysis_method #=> String, one of "DIRECT_QUERY"
559
+ # resp.configured_table.allowed_columns #=> Array
560
+ # resp.configured_table.allowed_columns[0] #=> String
561
+ #
562
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CreateConfiguredTable AWS API Documentation
563
+ #
564
+ # @overload create_configured_table(params = {})
565
+ # @param [Hash] params ({})
566
+ def create_configured_table(params = {}, options = {})
567
+ req = build_request(:create_configured_table, params)
568
+ req.send_request(options)
569
+ end
570
+
571
+ # Creates a new analysis rule for a configured table. Currently, only
572
+ # one analysis rule can be created for a given configured table.
573
+ #
574
+ # @option params [required, String] :configured_table_identifier
575
+ # The identifier for the configured table to create the analysis rule
576
+ # for. Currently accepts the configured table ID.
577
+ #
578
+ # @option params [required, String] :analysis_rule_type
579
+ # The type of analysis rule. Valid values are AGGREGATION and LIST.
580
+ #
581
+ # @option params [required, Types::ConfiguredTableAnalysisRulePolicy] :analysis_rule_policy
582
+ # The entire created configured table analysis rule object.
583
+ #
584
+ # @return [Types::CreateConfiguredTableAnalysisRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
585
+ #
586
+ # * {Types::CreateConfiguredTableAnalysisRuleOutput#analysis_rule #analysis_rule} => Types::ConfiguredTableAnalysisRule
587
+ #
588
+ # @example Request syntax with placeholder values
589
+ #
590
+ # resp = client.create_configured_table_analysis_rule({
591
+ # configured_table_identifier: "ConfiguredTableIdentifier", # required
592
+ # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST
593
+ # analysis_rule_policy: { # required
594
+ # v1: {
595
+ # list: {
596
+ # join_columns: ["AnalysisRuleColumnName"], # required
597
+ # list_columns: ["AnalysisRuleColumnName"], # required
598
+ # },
599
+ # aggregation: {
600
+ # aggregate_columns: [ # required
601
+ # {
602
+ # column_names: ["AnalysisRuleColumnName"], # required
603
+ # function: "SUM", # required, accepts SUM, SUM_DISTINCT, COUNT, COUNT_DISTINCT, AVG
604
+ # },
605
+ # ],
606
+ # join_columns: ["AnalysisRuleColumnName"], # required
607
+ # join_required: "QUERY_RUNNER", # accepts QUERY_RUNNER
608
+ # dimension_columns: ["AnalysisRuleColumnName"], # required
609
+ # scalar_functions: ["TRUNC"], # required, accepts TRUNC, ABS, CEILING, FLOOR, LN, LOG, ROUND, SQRT, CAST, LOWER, RTRIM, UPPER, COALESCE
610
+ # output_constraints: [ # required
611
+ # {
612
+ # column_name: "AnalysisRuleColumnName", # required
613
+ # minimum: 1, # required
614
+ # type: "COUNT_DISTINCT", # required, accepts COUNT_DISTINCT
615
+ # },
616
+ # ],
617
+ # },
618
+ # },
619
+ # },
620
+ # })
621
+ #
622
+ # @example Response structure
623
+ #
624
+ # resp.analysis_rule.configured_table_id #=> String
625
+ # resp.analysis_rule.configured_table_arn #=> String
626
+ # resp.analysis_rule.policy.v1.list.join_columns #=> Array
627
+ # resp.analysis_rule.policy.v1.list.join_columns[0] #=> String
628
+ # resp.analysis_rule.policy.v1.list.list_columns #=> Array
629
+ # resp.analysis_rule.policy.v1.list.list_columns[0] #=> String
630
+ # resp.analysis_rule.policy.v1.aggregation.aggregate_columns #=> Array
631
+ # resp.analysis_rule.policy.v1.aggregation.aggregate_columns[0].column_names #=> Array
632
+ # resp.analysis_rule.policy.v1.aggregation.aggregate_columns[0].column_names[0] #=> String
633
+ # resp.analysis_rule.policy.v1.aggregation.aggregate_columns[0].function #=> String, one of "SUM", "SUM_DISTINCT", "COUNT", "COUNT_DISTINCT", "AVG"
634
+ # resp.analysis_rule.policy.v1.aggregation.join_columns #=> Array
635
+ # resp.analysis_rule.policy.v1.aggregation.join_columns[0] #=> String
636
+ # resp.analysis_rule.policy.v1.aggregation.join_required #=> String, one of "QUERY_RUNNER"
637
+ # resp.analysis_rule.policy.v1.aggregation.dimension_columns #=> Array
638
+ # resp.analysis_rule.policy.v1.aggregation.dimension_columns[0] #=> String
639
+ # resp.analysis_rule.policy.v1.aggregation.scalar_functions #=> Array
640
+ # resp.analysis_rule.policy.v1.aggregation.scalar_functions[0] #=> String, one of "TRUNC", "ABS", "CEILING", "FLOOR", "LN", "LOG", "ROUND", "SQRT", "CAST", "LOWER", "RTRIM", "UPPER", "COALESCE"
641
+ # resp.analysis_rule.policy.v1.aggregation.output_constraints #=> Array
642
+ # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].column_name #=> String
643
+ # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].minimum #=> Integer
644
+ # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].type #=> String, one of "COUNT_DISTINCT"
645
+ # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST"
646
+ # resp.analysis_rule.create_time #=> Time
647
+ # resp.analysis_rule.update_time #=> Time
648
+ #
649
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CreateConfiguredTableAnalysisRule AWS API Documentation
650
+ #
651
+ # @overload create_configured_table_analysis_rule(params = {})
652
+ # @param [Hash] params ({})
653
+ def create_configured_table_analysis_rule(params = {}, options = {})
654
+ req = build_request(:create_configured_table_analysis_rule, params)
655
+ req.send_request(options)
656
+ end
657
+
658
+ # Creates a configured table association. A configured table association
659
+ # links a configured table with a collaboration.
660
+ #
661
+ # @option params [required, String] :name
662
+ # The name of the configured table association. This name is used to
663
+ # query the underlying configured table.
664
+ #
665
+ # @option params [String] :description
666
+ # A description for the configured table association.
667
+ #
668
+ # @option params [required, String] :membership_identifier
669
+ # A unique identifier for one of your memberships for a collaboration.
670
+ # The configured table is associated to the collaboration that this
671
+ # membership belongs to. Currently accepts a membership ID.
672
+ #
673
+ # @option params [required, String] :configured_table_identifier
674
+ # A unique identifier for the configured table to be associated to.
675
+ # Currently accepts a configured table ID.
676
+ #
677
+ # @option params [required, String] :role_arn
678
+ # The service will assume this role to access catalog metadata and query
679
+ # the table.
680
+ #
681
+ # @return [Types::CreateConfiguredTableAssociationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
682
+ #
683
+ # * {Types::CreateConfiguredTableAssociationOutput#configured_table_association #configured_table_association} => Types::ConfiguredTableAssociation
684
+ #
685
+ # @example Request syntax with placeholder values
686
+ #
687
+ # resp = client.create_configured_table_association({
688
+ # name: "TableAlias", # required
689
+ # description: "TableDescription",
690
+ # membership_identifier: "MembershipIdentifier", # required
691
+ # configured_table_identifier: "ConfiguredTableIdentifier", # required
692
+ # role_arn: "RoleArn", # required
693
+ # })
694
+ #
695
+ # @example Response structure
696
+ #
697
+ # resp.configured_table_association.arn #=> String
698
+ # resp.configured_table_association.id #=> String
699
+ # resp.configured_table_association.configured_table_id #=> String
700
+ # resp.configured_table_association.configured_table_arn #=> String
701
+ # resp.configured_table_association.membership_id #=> String
702
+ # resp.configured_table_association.membership_arn #=> String
703
+ # resp.configured_table_association.role_arn #=> String
704
+ # resp.configured_table_association.name #=> String
705
+ # resp.configured_table_association.description #=> String
706
+ # resp.configured_table_association.create_time #=> Time
707
+ # resp.configured_table_association.update_time #=> Time
708
+ #
709
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CreateConfiguredTableAssociation AWS API Documentation
710
+ #
711
+ # @overload create_configured_table_association(params = {})
712
+ # @param [Hash] params ({})
713
+ def create_configured_table_association(params = {}, options = {})
714
+ req = build_request(:create_configured_table_association, params)
715
+ req.send_request(options)
716
+ end
717
+
718
+ # Creates a membership for a specific collaboration identifier and joins
719
+ # the collaboration.
720
+ #
721
+ # @option params [required, String] :collaboration_identifier
722
+ # The unique ID for the associated collaboration.
723
+ #
724
+ # @option params [required, String] :query_log_status
725
+ # An indicator as to whether query logging has been enabled or disabled
726
+ # for the collaboration.
727
+ #
728
+ # @return [Types::CreateMembershipOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
729
+ #
730
+ # * {Types::CreateMembershipOutput#membership #membership} => Types::Membership
731
+ #
732
+ # @example Request syntax with placeholder values
733
+ #
734
+ # resp = client.create_membership({
735
+ # collaboration_identifier: "CollaborationIdentifier", # required
736
+ # query_log_status: "ENABLED", # required, accepts ENABLED, DISABLED
737
+ # })
738
+ #
739
+ # @example Response structure
740
+ #
741
+ # resp.membership.id #=> String
742
+ # resp.membership.arn #=> String
743
+ # resp.membership.collaboration_arn #=> String
744
+ # resp.membership.collaboration_id #=> String
745
+ # resp.membership.collaboration_creator_account_id #=> String
746
+ # resp.membership.collaboration_creator_display_name #=> String
747
+ # resp.membership.collaboration_name #=> String
748
+ # resp.membership.create_time #=> Time
749
+ # resp.membership.update_time #=> Time
750
+ # resp.membership.status #=> String, one of "ACTIVE", "REMOVED", "COLLABORATION_DELETED"
751
+ # resp.membership.member_abilities #=> Array
752
+ # resp.membership.member_abilities[0] #=> String, one of "CAN_QUERY", "CAN_RECEIVE_RESULTS"
753
+ # resp.membership.query_log_status #=> String, one of "ENABLED", "DISABLED"
754
+ #
755
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CreateMembership AWS API Documentation
756
+ #
757
+ # @overload create_membership(params = {})
758
+ # @param [Hash] params ({})
759
+ def create_membership(params = {}, options = {})
760
+ req = build_request(:create_membership, params)
761
+ req.send_request(options)
762
+ end
763
+
764
+ # Deletes a collaboration. It can only be called by the collaboration
765
+ # owner.
766
+ #
767
+ # @option params [required, String] :collaboration_identifier
768
+ # The identifier for the collaboration.
769
+ #
770
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
771
+ #
772
+ # @example Request syntax with placeholder values
773
+ #
774
+ # resp = client.delete_collaboration({
775
+ # collaboration_identifier: "CollaborationIdentifier", # required
776
+ # })
777
+ #
778
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeleteCollaboration AWS API Documentation
779
+ #
780
+ # @overload delete_collaboration(params = {})
781
+ # @param [Hash] params ({})
782
+ def delete_collaboration(params = {}, options = {})
783
+ req = build_request(:delete_collaboration, params)
784
+ req.send_request(options)
785
+ end
786
+
787
+ # Deletes a configured table.
788
+ #
789
+ # @option params [required, String] :configured_table_identifier
790
+ # The unique ID for the configured table to delete.
791
+ #
792
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
793
+ #
794
+ # @example Request syntax with placeholder values
795
+ #
796
+ # resp = client.delete_configured_table({
797
+ # configured_table_identifier: "ConfiguredTableIdentifier", # required
798
+ # })
799
+ #
800
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeleteConfiguredTable AWS API Documentation
801
+ #
802
+ # @overload delete_configured_table(params = {})
803
+ # @param [Hash] params ({})
804
+ def delete_configured_table(params = {}, options = {})
805
+ req = build_request(:delete_configured_table, params)
806
+ req.send_request(options)
807
+ end
808
+
809
+ # Deletes a configured table analysis rule.
810
+ #
811
+ # @option params [required, String] :configured_table_identifier
812
+ # The unique identifier for the configured table that the analysis rule
813
+ # applies to. Currently accepts the configured table ID.
814
+ #
815
+ # @option params [required, String] :analysis_rule_type
816
+ # The analysis rule type to be deleted. Configured table analysis rules
817
+ # are uniquely identified by their configured table identifier and
818
+ # analysis rule type.
819
+ #
820
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
821
+ #
822
+ # @example Request syntax with placeholder values
823
+ #
824
+ # resp = client.delete_configured_table_analysis_rule({
825
+ # configured_table_identifier: "ConfiguredTableIdentifier", # required
826
+ # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST
827
+ # })
828
+ #
829
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeleteConfiguredTableAnalysisRule AWS API Documentation
830
+ #
831
+ # @overload delete_configured_table_analysis_rule(params = {})
832
+ # @param [Hash] params ({})
833
+ def delete_configured_table_analysis_rule(params = {}, options = {})
834
+ req = build_request(:delete_configured_table_analysis_rule, params)
835
+ req.send_request(options)
836
+ end
837
+
838
+ # Deletes a configured table association.
839
+ #
840
+ # @option params [required, String] :configured_table_association_identifier
841
+ # The unique ID for the configured table association to be deleted.
842
+ # Currently accepts the configured table ID.
843
+ #
844
+ # @option params [required, String] :membership_identifier
845
+ # A unique identifier for the membership that the configured table
846
+ # association belongs to. Currently accepts the membership ID.
847
+ #
848
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
849
+ #
850
+ # @example Request syntax with placeholder values
851
+ #
852
+ # resp = client.delete_configured_table_association({
853
+ # configured_table_association_identifier: "ConfiguredTableAssociationIdentifier", # required
854
+ # membership_identifier: "MembershipIdentifier", # required
855
+ # })
856
+ #
857
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeleteConfiguredTableAssociation AWS API Documentation
858
+ #
859
+ # @overload delete_configured_table_association(params = {})
860
+ # @param [Hash] params ({})
861
+ def delete_configured_table_association(params = {}, options = {})
862
+ req = build_request(:delete_configured_table_association, params)
863
+ req.send_request(options)
864
+ end
865
+
866
+ # Removes the specified member from a collaboration. The removed member
867
+ # is placed in the Removed status and can't interact with the
868
+ # collaboration. The removed member's data is inaccessible to active
869
+ # members of the collaboration.
870
+ #
871
+ # @option params [required, String] :collaboration_identifier
872
+ # The unique identifier for the associated collaboration.
873
+ #
874
+ # @option params [required, String] :account_id
875
+ # The account ID of the member to remove.
876
+ #
877
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
878
+ #
879
+ # @example Request syntax with placeholder values
880
+ #
881
+ # resp = client.delete_member({
882
+ # collaboration_identifier: "CollaborationIdentifier", # required
883
+ # account_id: "AccountId", # required
884
+ # })
885
+ #
886
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeleteMember AWS API Documentation
887
+ #
888
+ # @overload delete_member(params = {})
889
+ # @param [Hash] params ({})
890
+ def delete_member(params = {}, options = {})
891
+ req = build_request(:delete_member, params)
892
+ req.send_request(options)
893
+ end
894
+
895
+ # Deletes a specified membership. All resources under a membership must
896
+ # be deleted.
897
+ #
898
+ # @option params [required, String] :membership_identifier
899
+ # The identifier for a membership resource.
900
+ #
901
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
902
+ #
903
+ # @example Request syntax with placeholder values
904
+ #
905
+ # resp = client.delete_membership({
906
+ # membership_identifier: "MembershipIdentifier", # required
907
+ # })
908
+ #
909
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeleteMembership AWS API Documentation
910
+ #
911
+ # @overload delete_membership(params = {})
912
+ # @param [Hash] params ({})
913
+ def delete_membership(params = {}, options = {})
914
+ req = build_request(:delete_membership, params)
915
+ req.send_request(options)
916
+ end
917
+
918
+ # Returns metadata about a collaboration.
919
+ #
920
+ # @option params [required, String] :collaboration_identifier
921
+ # The identifier for the collaboration.
922
+ #
923
+ # @return [Types::GetCollaborationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
924
+ #
925
+ # * {Types::GetCollaborationOutput#collaboration #collaboration} => Types::Collaboration
926
+ #
927
+ # @example Request syntax with placeholder values
928
+ #
929
+ # resp = client.get_collaboration({
930
+ # collaboration_identifier: "CollaborationIdentifier", # required
931
+ # })
932
+ #
933
+ # @example Response structure
934
+ #
935
+ # resp.collaboration.id #=> String
936
+ # resp.collaboration.arn #=> String
937
+ # resp.collaboration.name #=> String
938
+ # resp.collaboration.description #=> String
939
+ # resp.collaboration.creator_account_id #=> String
940
+ # resp.collaboration.creator_display_name #=> String
941
+ # resp.collaboration.create_time #=> Time
942
+ # resp.collaboration.update_time #=> Time
943
+ # resp.collaboration.member_status #=> String, one of "INVITED", "ACTIVE", "LEFT", "REMOVED"
944
+ # resp.collaboration.membership_id #=> String
945
+ # resp.collaboration.membership_arn #=> String
946
+ # resp.collaboration.data_encryption_metadata.allow_cleartext #=> Boolean
947
+ # resp.collaboration.data_encryption_metadata.allow_duplicates #=> Boolean
948
+ # resp.collaboration.data_encryption_metadata.allow_joins_on_columns_with_different_names #=> Boolean
949
+ # resp.collaboration.data_encryption_metadata.preserve_nulls #=> Boolean
950
+ # resp.collaboration.query_log_status #=> String, one of "ENABLED", "DISABLED"
951
+ #
952
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetCollaboration AWS API Documentation
953
+ #
954
+ # @overload get_collaboration(params = {})
955
+ # @param [Hash] params ({})
956
+ def get_collaboration(params = {}, options = {})
957
+ req = build_request(:get_collaboration, params)
958
+ req.send_request(options)
959
+ end
960
+
961
+ # Retrieves a configured table.
962
+ #
963
+ # @option params [required, String] :configured_table_identifier
964
+ # The unique ID for the configured table to retrieve.
965
+ #
966
+ # @return [Types::GetConfiguredTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
967
+ #
968
+ # * {Types::GetConfiguredTableOutput#configured_table #configured_table} => Types::ConfiguredTable
969
+ #
970
+ # @example Request syntax with placeholder values
971
+ #
972
+ # resp = client.get_configured_table({
973
+ # configured_table_identifier: "ConfiguredTableIdentifier", # required
974
+ # })
975
+ #
976
+ # @example Response structure
977
+ #
978
+ # resp.configured_table.id #=> String
979
+ # resp.configured_table.arn #=> String
980
+ # resp.configured_table.name #=> String
981
+ # resp.configured_table.description #=> String
982
+ # resp.configured_table.table_reference.glue.table_name #=> String
983
+ # resp.configured_table.table_reference.glue.database_name #=> String
984
+ # resp.configured_table.create_time #=> Time
985
+ # resp.configured_table.update_time #=> Time
986
+ # resp.configured_table.analysis_rule_types #=> Array
987
+ # resp.configured_table.analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST"
988
+ # resp.configured_table.analysis_method #=> String, one of "DIRECT_QUERY"
989
+ # resp.configured_table.allowed_columns #=> Array
990
+ # resp.configured_table.allowed_columns[0] #=> String
991
+ #
992
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetConfiguredTable AWS API Documentation
993
+ #
994
+ # @overload get_configured_table(params = {})
995
+ # @param [Hash] params ({})
996
+ def get_configured_table(params = {}, options = {})
997
+ req = build_request(:get_configured_table, params)
998
+ req.send_request(options)
999
+ end
1000
+
1001
+ # Retrieves a configured table analysis rule.
1002
+ #
1003
+ # @option params [required, String] :configured_table_identifier
1004
+ # The unique identifier for the configured table to retrieve. Currently
1005
+ # accepts the configured table ID.
1006
+ #
1007
+ # @option params [required, String] :analysis_rule_type
1008
+ # The analysis rule to be retrieved. Configured table analysis rules are
1009
+ # uniquely identified by their configured table identifier and analysis
1010
+ # rule type.
1011
+ #
1012
+ # @return [Types::GetConfiguredTableAnalysisRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1013
+ #
1014
+ # * {Types::GetConfiguredTableAnalysisRuleOutput#analysis_rule #analysis_rule} => Types::ConfiguredTableAnalysisRule
1015
+ #
1016
+ # @example Request syntax with placeholder values
1017
+ #
1018
+ # resp = client.get_configured_table_analysis_rule({
1019
+ # configured_table_identifier: "ConfiguredTableIdentifier", # required
1020
+ # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST
1021
+ # })
1022
+ #
1023
+ # @example Response structure
1024
+ #
1025
+ # resp.analysis_rule.configured_table_id #=> String
1026
+ # resp.analysis_rule.configured_table_arn #=> String
1027
+ # resp.analysis_rule.policy.v1.list.join_columns #=> Array
1028
+ # resp.analysis_rule.policy.v1.list.join_columns[0] #=> String
1029
+ # resp.analysis_rule.policy.v1.list.list_columns #=> Array
1030
+ # resp.analysis_rule.policy.v1.list.list_columns[0] #=> String
1031
+ # resp.analysis_rule.policy.v1.aggregation.aggregate_columns #=> Array
1032
+ # resp.analysis_rule.policy.v1.aggregation.aggregate_columns[0].column_names #=> Array
1033
+ # resp.analysis_rule.policy.v1.aggregation.aggregate_columns[0].column_names[0] #=> String
1034
+ # resp.analysis_rule.policy.v1.aggregation.aggregate_columns[0].function #=> String, one of "SUM", "SUM_DISTINCT", "COUNT", "COUNT_DISTINCT", "AVG"
1035
+ # resp.analysis_rule.policy.v1.aggregation.join_columns #=> Array
1036
+ # resp.analysis_rule.policy.v1.aggregation.join_columns[0] #=> String
1037
+ # resp.analysis_rule.policy.v1.aggregation.join_required #=> String, one of "QUERY_RUNNER"
1038
+ # resp.analysis_rule.policy.v1.aggregation.dimension_columns #=> Array
1039
+ # resp.analysis_rule.policy.v1.aggregation.dimension_columns[0] #=> String
1040
+ # resp.analysis_rule.policy.v1.aggregation.scalar_functions #=> Array
1041
+ # resp.analysis_rule.policy.v1.aggregation.scalar_functions[0] #=> String, one of "TRUNC", "ABS", "CEILING", "FLOOR", "LN", "LOG", "ROUND", "SQRT", "CAST", "LOWER", "RTRIM", "UPPER", "COALESCE"
1042
+ # resp.analysis_rule.policy.v1.aggregation.output_constraints #=> Array
1043
+ # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].column_name #=> String
1044
+ # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].minimum #=> Integer
1045
+ # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].type #=> String, one of "COUNT_DISTINCT"
1046
+ # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST"
1047
+ # resp.analysis_rule.create_time #=> Time
1048
+ # resp.analysis_rule.update_time #=> Time
1049
+ #
1050
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetConfiguredTableAnalysisRule AWS API Documentation
1051
+ #
1052
+ # @overload get_configured_table_analysis_rule(params = {})
1053
+ # @param [Hash] params ({})
1054
+ def get_configured_table_analysis_rule(params = {}, options = {})
1055
+ req = build_request(:get_configured_table_analysis_rule, params)
1056
+ req.send_request(options)
1057
+ end
1058
+
1059
+ # Retrieves a configured table association.
1060
+ #
1061
+ # @option params [required, String] :configured_table_association_identifier
1062
+ # The unique ID for the configured table association to retrieve.
1063
+ # Currently accepts the configured table ID.
1064
+ #
1065
+ # @option params [required, String] :membership_identifier
1066
+ # A unique identifier for the membership that the configured table
1067
+ # association belongs to. Currently accepts the membership ID.
1068
+ #
1069
+ # @return [Types::GetConfiguredTableAssociationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1070
+ #
1071
+ # * {Types::GetConfiguredTableAssociationOutput#configured_table_association #configured_table_association} => Types::ConfiguredTableAssociation
1072
+ #
1073
+ # @example Request syntax with placeholder values
1074
+ #
1075
+ # resp = client.get_configured_table_association({
1076
+ # configured_table_association_identifier: "ConfiguredTableAssociationIdentifier", # required
1077
+ # membership_identifier: "MembershipIdentifier", # required
1078
+ # })
1079
+ #
1080
+ # @example Response structure
1081
+ #
1082
+ # resp.configured_table_association.arn #=> String
1083
+ # resp.configured_table_association.id #=> String
1084
+ # resp.configured_table_association.configured_table_id #=> String
1085
+ # resp.configured_table_association.configured_table_arn #=> String
1086
+ # resp.configured_table_association.membership_id #=> String
1087
+ # resp.configured_table_association.membership_arn #=> String
1088
+ # resp.configured_table_association.role_arn #=> String
1089
+ # resp.configured_table_association.name #=> String
1090
+ # resp.configured_table_association.description #=> String
1091
+ # resp.configured_table_association.create_time #=> Time
1092
+ # resp.configured_table_association.update_time #=> Time
1093
+ #
1094
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetConfiguredTableAssociation AWS API Documentation
1095
+ #
1096
+ # @overload get_configured_table_association(params = {})
1097
+ # @param [Hash] params ({})
1098
+ def get_configured_table_association(params = {}, options = {})
1099
+ req = build_request(:get_configured_table_association, params)
1100
+ req.send_request(options)
1101
+ end
1102
+
1103
+ # Retrieves a specified membership for an identifier.
1104
+ #
1105
+ # @option params [required, String] :membership_identifier
1106
+ # The identifier for a membership resource.
1107
+ #
1108
+ # @return [Types::GetMembershipOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1109
+ #
1110
+ # * {Types::GetMembershipOutput#membership #membership} => Types::Membership
1111
+ #
1112
+ # @example Request syntax with placeholder values
1113
+ #
1114
+ # resp = client.get_membership({
1115
+ # membership_identifier: "MembershipIdentifier", # required
1116
+ # })
1117
+ #
1118
+ # @example Response structure
1119
+ #
1120
+ # resp.membership.id #=> String
1121
+ # resp.membership.arn #=> String
1122
+ # resp.membership.collaboration_arn #=> String
1123
+ # resp.membership.collaboration_id #=> String
1124
+ # resp.membership.collaboration_creator_account_id #=> String
1125
+ # resp.membership.collaboration_creator_display_name #=> String
1126
+ # resp.membership.collaboration_name #=> String
1127
+ # resp.membership.create_time #=> Time
1128
+ # resp.membership.update_time #=> Time
1129
+ # resp.membership.status #=> String, one of "ACTIVE", "REMOVED", "COLLABORATION_DELETED"
1130
+ # resp.membership.member_abilities #=> Array
1131
+ # resp.membership.member_abilities[0] #=> String, one of "CAN_QUERY", "CAN_RECEIVE_RESULTS"
1132
+ # resp.membership.query_log_status #=> String, one of "ENABLED", "DISABLED"
1133
+ #
1134
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetMembership AWS API Documentation
1135
+ #
1136
+ # @overload get_membership(params = {})
1137
+ # @param [Hash] params ({})
1138
+ def get_membership(params = {}, options = {})
1139
+ req = build_request(:get_membership, params)
1140
+ req.send_request(options)
1141
+ end
1142
+
1143
+ # Returns query processing metadata.
1144
+ #
1145
+ # @option params [required, String] :membership_identifier
1146
+ # The identifier for a membership in a protected query instance.
1147
+ #
1148
+ # @option params [required, String] :protected_query_identifier
1149
+ # The identifier for a protected query instance.
1150
+ #
1151
+ # @return [Types::GetProtectedQueryOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1152
+ #
1153
+ # * {Types::GetProtectedQueryOutput#protected_query #protected_query} => Types::ProtectedQuery
1154
+ #
1155
+ # @example Request syntax with placeholder values
1156
+ #
1157
+ # resp = client.get_protected_query({
1158
+ # membership_identifier: "MembershipIdentifier", # required
1159
+ # protected_query_identifier: "ProtectedQueryIdentifier", # required
1160
+ # })
1161
+ #
1162
+ # @example Response structure
1163
+ #
1164
+ # resp.protected_query.id #=> String
1165
+ # resp.protected_query.membership_id #=> String
1166
+ # resp.protected_query.membership_arn #=> String
1167
+ # resp.protected_query.create_time #=> Time
1168
+ # resp.protected_query.sql_parameters.query_string #=> String
1169
+ # resp.protected_query.status #=> String, one of "SUBMITTED", "STARTED", "CANCELLED", "CANCELLING", "FAILED", "SUCCESS", "TIMED_OUT"
1170
+ # resp.protected_query.result_configuration.output_configuration.s3.result_format #=> String, one of "CSV", "PARQUET"
1171
+ # resp.protected_query.result_configuration.output_configuration.s3.bucket #=> String
1172
+ # resp.protected_query.result_configuration.output_configuration.s3.key_prefix #=> String
1173
+ # resp.protected_query.statistics.total_duration_in_millis #=> Integer
1174
+ # resp.protected_query.result.output.s3.location #=> String
1175
+ # resp.protected_query.error.message #=> String
1176
+ # resp.protected_query.error.code #=> String
1177
+ #
1178
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetProtectedQuery AWS API Documentation
1179
+ #
1180
+ # @overload get_protected_query(params = {})
1181
+ # @param [Hash] params ({})
1182
+ def get_protected_query(params = {}, options = {})
1183
+ req = build_request(:get_protected_query, params)
1184
+ req.send_request(options)
1185
+ end
1186
+
1187
+ # Retrieves the schema for a relation within a collaboration.
1188
+ #
1189
+ # @option params [required, String] :collaboration_identifier
1190
+ # A unique identifier for the collaboration that the schema belongs to.
1191
+ # Currently accepts a collaboration ID.
1192
+ #
1193
+ # @option params [required, String] :name
1194
+ # The name of the relation to retrieve the schema for.
1195
+ #
1196
+ # @return [Types::GetSchemaOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1197
+ #
1198
+ # * {Types::GetSchemaOutput#schema #schema} => Types::Schema
1199
+ #
1200
+ # @example Request syntax with placeholder values
1201
+ #
1202
+ # resp = client.get_schema({
1203
+ # collaboration_identifier: "CollaborationIdentifier", # required
1204
+ # name: "TableAlias", # required
1205
+ # })
1206
+ #
1207
+ # @example Response structure
1208
+ #
1209
+ # resp.schema.columns #=> Array
1210
+ # resp.schema.columns[0].name #=> String
1211
+ # resp.schema.columns[0].type #=> String
1212
+ # resp.schema.partition_keys #=> Array
1213
+ # resp.schema.partition_keys[0].name #=> String
1214
+ # resp.schema.partition_keys[0].type #=> String
1215
+ # resp.schema.analysis_rule_types #=> Array
1216
+ # resp.schema.analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST"
1217
+ # resp.schema.analysis_method #=> String, one of "DIRECT_QUERY"
1218
+ # resp.schema.creator_account_id #=> String
1219
+ # resp.schema.name #=> String
1220
+ # resp.schema.collaboration_id #=> String
1221
+ # resp.schema.collaboration_arn #=> String
1222
+ # resp.schema.description #=> String
1223
+ # resp.schema.create_time #=> Time
1224
+ # resp.schema.update_time #=> Time
1225
+ # resp.schema.type #=> String, one of "TABLE"
1226
+ #
1227
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetSchema AWS API Documentation
1228
+ #
1229
+ # @overload get_schema(params = {})
1230
+ # @param [Hash] params ({})
1231
+ def get_schema(params = {}, options = {})
1232
+ req = build_request(:get_schema, params)
1233
+ req.send_request(options)
1234
+ end
1235
+
1236
+ # Retrieves a schema analysis rule.
1237
+ #
1238
+ # @option params [required, String] :collaboration_identifier
1239
+ # A unique identifier for the collaboration that the schema belongs to.
1240
+ # Currently accepts a collaboration ID.
1241
+ #
1242
+ # @option params [required, String] :name
1243
+ # The name of the schema to retrieve the analysis rule for.
1244
+ #
1245
+ # @option params [required, String] :type
1246
+ # The type of the schema analysis rule to retrieve. Schema analysis
1247
+ # rules are uniquely identified by a combination of the collaboration,
1248
+ # the schema name, and their type.
1249
+ #
1250
+ # @return [Types::GetSchemaAnalysisRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1251
+ #
1252
+ # * {Types::GetSchemaAnalysisRuleOutput#analysis_rule #analysis_rule} => Types::AnalysisRule
1253
+ #
1254
+ # @example Request syntax with placeholder values
1255
+ #
1256
+ # resp = client.get_schema_analysis_rule({
1257
+ # collaboration_identifier: "CollaborationIdentifier", # required
1258
+ # name: "TableAlias", # required
1259
+ # type: "AGGREGATION", # required, accepts AGGREGATION, LIST
1260
+ # })
1261
+ #
1262
+ # @example Response structure
1263
+ #
1264
+ # resp.analysis_rule.collaboration_id #=> String
1265
+ # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST"
1266
+ # resp.analysis_rule.name #=> String
1267
+ # resp.analysis_rule.create_time #=> Time
1268
+ # resp.analysis_rule.update_time #=> Time
1269
+ # resp.analysis_rule.policy.v1.list.join_columns #=> Array
1270
+ # resp.analysis_rule.policy.v1.list.join_columns[0] #=> String
1271
+ # resp.analysis_rule.policy.v1.list.list_columns #=> Array
1272
+ # resp.analysis_rule.policy.v1.list.list_columns[0] #=> String
1273
+ # resp.analysis_rule.policy.v1.aggregation.aggregate_columns #=> Array
1274
+ # resp.analysis_rule.policy.v1.aggregation.aggregate_columns[0].column_names #=> Array
1275
+ # resp.analysis_rule.policy.v1.aggregation.aggregate_columns[0].column_names[0] #=> String
1276
+ # resp.analysis_rule.policy.v1.aggregation.aggregate_columns[0].function #=> String, one of "SUM", "SUM_DISTINCT", "COUNT", "COUNT_DISTINCT", "AVG"
1277
+ # resp.analysis_rule.policy.v1.aggregation.join_columns #=> Array
1278
+ # resp.analysis_rule.policy.v1.aggregation.join_columns[0] #=> String
1279
+ # resp.analysis_rule.policy.v1.aggregation.join_required #=> String, one of "QUERY_RUNNER"
1280
+ # resp.analysis_rule.policy.v1.aggregation.dimension_columns #=> Array
1281
+ # resp.analysis_rule.policy.v1.aggregation.dimension_columns[0] #=> String
1282
+ # resp.analysis_rule.policy.v1.aggregation.scalar_functions #=> Array
1283
+ # resp.analysis_rule.policy.v1.aggregation.scalar_functions[0] #=> String, one of "TRUNC", "ABS", "CEILING", "FLOOR", "LN", "LOG", "ROUND", "SQRT", "CAST", "LOWER", "RTRIM", "UPPER", "COALESCE"
1284
+ # resp.analysis_rule.policy.v1.aggregation.output_constraints #=> Array
1285
+ # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].column_name #=> String
1286
+ # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].minimum #=> Integer
1287
+ # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].type #=> String, one of "COUNT_DISTINCT"
1288
+ #
1289
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetSchemaAnalysisRule AWS API Documentation
1290
+ #
1291
+ # @overload get_schema_analysis_rule(params = {})
1292
+ # @param [Hash] params ({})
1293
+ def get_schema_analysis_rule(params = {}, options = {})
1294
+ req = build_request(:get_schema_analysis_rule, params)
1295
+ req.send_request(options)
1296
+ end
1297
+
1298
+ # Lists collaborations the caller owns, is active in, or has been
1299
+ # invited to.
1300
+ #
1301
+ # @option params [String] :next_token
1302
+ # The token value retrieved from a previous call to access the next page
1303
+ # of results.
1304
+ #
1305
+ # @option params [Integer] :max_results
1306
+ # The maximum size of the results that is returned per call. Service
1307
+ # chooses a default if it has not been set. Service may return a
1308
+ # nextToken even if the maximum results has not been met.
1309
+ #
1310
+ # @option params [String] :member_status
1311
+ # The caller's status in a collaboration.
1312
+ #
1313
+ # @return [Types::ListCollaborationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1314
+ #
1315
+ # * {Types::ListCollaborationsOutput#next_token #next_token} => String
1316
+ # * {Types::ListCollaborationsOutput#collaboration_list #collaboration_list} => Array&lt;Types::CollaborationSummary&gt;
1317
+ #
1318
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1319
+ #
1320
+ # @example Request syntax with placeholder values
1321
+ #
1322
+ # resp = client.list_collaborations({
1323
+ # next_token: "PaginationToken",
1324
+ # max_results: 1,
1325
+ # member_status: "INVITED", # accepts INVITED, ACTIVE
1326
+ # })
1327
+ #
1328
+ # @example Response structure
1329
+ #
1330
+ # resp.next_token #=> String
1331
+ # resp.collaboration_list #=> Array
1332
+ # resp.collaboration_list[0].id #=> String
1333
+ # resp.collaboration_list[0].arn #=> String
1334
+ # resp.collaboration_list[0].name #=> String
1335
+ # resp.collaboration_list[0].creator_account_id #=> String
1336
+ # resp.collaboration_list[0].creator_display_name #=> String
1337
+ # resp.collaboration_list[0].create_time #=> Time
1338
+ # resp.collaboration_list[0].update_time #=> Time
1339
+ # resp.collaboration_list[0].member_status #=> String, one of "INVITED", "ACTIVE", "LEFT", "REMOVED"
1340
+ # resp.collaboration_list[0].membership_id #=> String
1341
+ # resp.collaboration_list[0].membership_arn #=> String
1342
+ #
1343
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListCollaborations AWS API Documentation
1344
+ #
1345
+ # @overload list_collaborations(params = {})
1346
+ # @param [Hash] params ({})
1347
+ def list_collaborations(params = {}, options = {})
1348
+ req = build_request(:list_collaborations, params)
1349
+ req.send_request(options)
1350
+ end
1351
+
1352
+ # Lists configured table associations for a membership.
1353
+ #
1354
+ # @option params [required, String] :membership_identifier
1355
+ # A unique identifier for the membership to list configured table
1356
+ # associations for. Currently accepts the membership ID.
1357
+ #
1358
+ # @option params [String] :next_token
1359
+ # The token value retrieved from a previous call to access the next page
1360
+ # of results.
1361
+ #
1362
+ # @option params [Integer] :max_results
1363
+ # The maximum size of the results that is returned per call.
1364
+ #
1365
+ # @return [Types::ListConfiguredTableAssociationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1366
+ #
1367
+ # * {Types::ListConfiguredTableAssociationsOutput#configured_table_association_summaries #configured_table_association_summaries} => Array&lt;Types::ConfiguredTableAssociationSummary&gt;
1368
+ # * {Types::ListConfiguredTableAssociationsOutput#next_token #next_token} => String
1369
+ #
1370
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1371
+ #
1372
+ # @example Request syntax with placeholder values
1373
+ #
1374
+ # resp = client.list_configured_table_associations({
1375
+ # membership_identifier: "MembershipIdentifier", # required
1376
+ # next_token: "PaginationToken",
1377
+ # max_results: 1,
1378
+ # })
1379
+ #
1380
+ # @example Response structure
1381
+ #
1382
+ # resp.configured_table_association_summaries #=> Array
1383
+ # resp.configured_table_association_summaries[0].configured_table_id #=> String
1384
+ # resp.configured_table_association_summaries[0].membership_id #=> String
1385
+ # resp.configured_table_association_summaries[0].membership_arn #=> String
1386
+ # resp.configured_table_association_summaries[0].name #=> String
1387
+ # resp.configured_table_association_summaries[0].create_time #=> Time
1388
+ # resp.configured_table_association_summaries[0].update_time #=> Time
1389
+ # resp.configured_table_association_summaries[0].id #=> String
1390
+ # resp.configured_table_association_summaries[0].arn #=> String
1391
+ # resp.next_token #=> String
1392
+ #
1393
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListConfiguredTableAssociations AWS API Documentation
1394
+ #
1395
+ # @overload list_configured_table_associations(params = {})
1396
+ # @param [Hash] params ({})
1397
+ def list_configured_table_associations(params = {}, options = {})
1398
+ req = build_request(:list_configured_table_associations, params)
1399
+ req.send_request(options)
1400
+ end
1401
+
1402
+ # Lists configured tables.
1403
+ #
1404
+ # @option params [String] :next_token
1405
+ # The token value retrieved from a previous call to access the next page
1406
+ # of results.
1407
+ #
1408
+ # @option params [Integer] :max_results
1409
+ # The maximum size of the results that is returned per call.
1410
+ #
1411
+ # @return [Types::ListConfiguredTablesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1412
+ #
1413
+ # * {Types::ListConfiguredTablesOutput#configured_table_summaries #configured_table_summaries} => Array&lt;Types::ConfiguredTableSummary&gt;
1414
+ # * {Types::ListConfiguredTablesOutput#next_token #next_token} => String
1415
+ #
1416
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1417
+ #
1418
+ # @example Request syntax with placeholder values
1419
+ #
1420
+ # resp = client.list_configured_tables({
1421
+ # next_token: "PaginationToken",
1422
+ # max_results: 1,
1423
+ # })
1424
+ #
1425
+ # @example Response structure
1426
+ #
1427
+ # resp.configured_table_summaries #=> Array
1428
+ # resp.configured_table_summaries[0].id #=> String
1429
+ # resp.configured_table_summaries[0].arn #=> String
1430
+ # resp.configured_table_summaries[0].name #=> String
1431
+ # resp.configured_table_summaries[0].create_time #=> Time
1432
+ # resp.configured_table_summaries[0].update_time #=> Time
1433
+ # resp.configured_table_summaries[0].analysis_rule_types #=> Array
1434
+ # resp.configured_table_summaries[0].analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST"
1435
+ # resp.configured_table_summaries[0].analysis_method #=> String, one of "DIRECT_QUERY"
1436
+ # resp.next_token #=> String
1437
+ #
1438
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListConfiguredTables AWS API Documentation
1439
+ #
1440
+ # @overload list_configured_tables(params = {})
1441
+ # @param [Hash] params ({})
1442
+ def list_configured_tables(params = {}, options = {})
1443
+ req = build_request(:list_configured_tables, params)
1444
+ req.send_request(options)
1445
+ end
1446
+
1447
+ # Lists all members within a collaboration.
1448
+ #
1449
+ # @option params [required, String] :collaboration_identifier
1450
+ # The identifier of the collaboration in which the members are listed.
1451
+ #
1452
+ # @option params [String] :next_token
1453
+ # The token value retrieved from a previous call to access the next page
1454
+ # of results.
1455
+ #
1456
+ # @option params [Integer] :max_results
1457
+ # The maximum size of the results that is returned per call.
1458
+ #
1459
+ # @return [Types::ListMembersOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1460
+ #
1461
+ # * {Types::ListMembersOutput#next_token #next_token} => String
1462
+ # * {Types::ListMembersOutput#member_summaries #member_summaries} => Array&lt;Types::MemberSummary&gt;
1463
+ #
1464
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1465
+ #
1466
+ # @example Request syntax with placeholder values
1467
+ #
1468
+ # resp = client.list_members({
1469
+ # collaboration_identifier: "CollaborationIdentifier", # required
1470
+ # next_token: "PaginationToken",
1471
+ # max_results: 1,
1472
+ # })
1473
+ #
1474
+ # @example Response structure
1475
+ #
1476
+ # resp.next_token #=> String
1477
+ # resp.member_summaries #=> Array
1478
+ # resp.member_summaries[0].account_id #=> String
1479
+ # resp.member_summaries[0].status #=> String, one of "INVITED", "ACTIVE", "LEFT", "REMOVED"
1480
+ # resp.member_summaries[0].display_name #=> String
1481
+ # resp.member_summaries[0].abilities #=> Array
1482
+ # resp.member_summaries[0].abilities[0] #=> String, one of "CAN_QUERY", "CAN_RECEIVE_RESULTS"
1483
+ # resp.member_summaries[0].create_time #=> Time
1484
+ # resp.member_summaries[0].update_time #=> Time
1485
+ # resp.member_summaries[0].membership_id #=> String
1486
+ # resp.member_summaries[0].membership_arn #=> String
1487
+ #
1488
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListMembers AWS API Documentation
1489
+ #
1490
+ # @overload list_members(params = {})
1491
+ # @param [Hash] params ({})
1492
+ def list_members(params = {}, options = {})
1493
+ req = build_request(:list_members, params)
1494
+ req.send_request(options)
1495
+ end
1496
+
1497
+ # Lists all memberships resources within the caller's account.
1498
+ #
1499
+ # @option params [String] :next_token
1500
+ # The token value retrieved from a previous call to access the next page
1501
+ # of results.
1502
+ #
1503
+ # @option params [Integer] :max_results
1504
+ # The maximum size of the results that is returned per call.
1505
+ #
1506
+ # @option params [String] :status
1507
+ # A filter which will return only memberships in the specified status.
1508
+ #
1509
+ # @return [Types::ListMembershipsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1510
+ #
1511
+ # * {Types::ListMembershipsOutput#next_token #next_token} => String
1512
+ # * {Types::ListMembershipsOutput#membership_summaries #membership_summaries} => Array&lt;Types::MembershipSummary&gt;
1513
+ #
1514
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1515
+ #
1516
+ # @example Request syntax with placeholder values
1517
+ #
1518
+ # resp = client.list_memberships({
1519
+ # next_token: "PaginationToken",
1520
+ # max_results: 1,
1521
+ # status: "ACTIVE", # accepts ACTIVE, REMOVED, COLLABORATION_DELETED
1522
+ # })
1523
+ #
1524
+ # @example Response structure
1525
+ #
1526
+ # resp.next_token #=> String
1527
+ # resp.membership_summaries #=> Array
1528
+ # resp.membership_summaries[0].id #=> String
1529
+ # resp.membership_summaries[0].arn #=> String
1530
+ # resp.membership_summaries[0].collaboration_arn #=> String
1531
+ # resp.membership_summaries[0].collaboration_id #=> String
1532
+ # resp.membership_summaries[0].collaboration_creator_account_id #=> String
1533
+ # resp.membership_summaries[0].collaboration_creator_display_name #=> String
1534
+ # resp.membership_summaries[0].collaboration_name #=> String
1535
+ # resp.membership_summaries[0].create_time #=> Time
1536
+ # resp.membership_summaries[0].update_time #=> Time
1537
+ # resp.membership_summaries[0].status #=> String, one of "ACTIVE", "REMOVED", "COLLABORATION_DELETED"
1538
+ # resp.membership_summaries[0].member_abilities #=> Array
1539
+ # resp.membership_summaries[0].member_abilities[0] #=> String, one of "CAN_QUERY", "CAN_RECEIVE_RESULTS"
1540
+ #
1541
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListMemberships AWS API Documentation
1542
+ #
1543
+ # @overload list_memberships(params = {})
1544
+ # @param [Hash] params ({})
1545
+ def list_memberships(params = {}, options = {})
1546
+ req = build_request(:list_memberships, params)
1547
+ req.send_request(options)
1548
+ end
1549
+
1550
+ # Lists protected queries, sorted by the most recent query.
1551
+ #
1552
+ # @option params [required, String] :membership_identifier
1553
+ # The identifier for the membership in the collaboration.
1554
+ #
1555
+ # @option params [String] :status
1556
+ # A filter on the status of the protected query.
1557
+ #
1558
+ # @option params [String] :next_token
1559
+ # The token value retrieved from a previous call to access the next page
1560
+ # of results.
1561
+ #
1562
+ # @option params [Integer] :max_results
1563
+ # The maximum size of the results that is returned per call. Service
1564
+ # chooses a default if it has not been set. Service can return a
1565
+ # nextToken even if the maximum results has not been met.
1566
+ #
1567
+ # @return [Types::ListProtectedQueriesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1568
+ #
1569
+ # * {Types::ListProtectedQueriesOutput#next_token #next_token} => String
1570
+ # * {Types::ListProtectedQueriesOutput#protected_queries #protected_queries} => Array&lt;Types::ProtectedQuerySummary&gt;
1571
+ #
1572
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1573
+ #
1574
+ # @example Request syntax with placeholder values
1575
+ #
1576
+ # resp = client.list_protected_queries({
1577
+ # membership_identifier: "MembershipIdentifier", # required
1578
+ # status: "SUBMITTED", # accepts SUBMITTED, STARTED, CANCELLED, CANCELLING, FAILED, SUCCESS, TIMED_OUT
1579
+ # next_token: "PaginationToken",
1580
+ # max_results: 1,
1581
+ # })
1582
+ #
1583
+ # @example Response structure
1584
+ #
1585
+ # resp.next_token #=> String
1586
+ # resp.protected_queries #=> Array
1587
+ # resp.protected_queries[0].id #=> String
1588
+ # resp.protected_queries[0].membership_id #=> String
1589
+ # resp.protected_queries[0].membership_arn #=> String
1590
+ # resp.protected_queries[0].create_time #=> Time
1591
+ # resp.protected_queries[0].status #=> String, one of "SUBMITTED", "STARTED", "CANCELLED", "CANCELLING", "FAILED", "SUCCESS", "TIMED_OUT"
1592
+ #
1593
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListProtectedQueries AWS API Documentation
1594
+ #
1595
+ # @overload list_protected_queries(params = {})
1596
+ # @param [Hash] params ({})
1597
+ def list_protected_queries(params = {}, options = {})
1598
+ req = build_request(:list_protected_queries, params)
1599
+ req.send_request(options)
1600
+ end
1601
+
1602
+ # Lists the schemas for relations within a collaboration.
1603
+ #
1604
+ # @option params [required, String] :collaboration_identifier
1605
+ # A unique identifier for the collaboration that the schema belongs to.
1606
+ # Currently accepts a collaboration ID.
1607
+ #
1608
+ # @option params [String] :schema_type
1609
+ # If present, filter schemas by schema type. The only valid schema type
1610
+ # is currently `TABLE`.
1611
+ #
1612
+ # @option params [String] :next_token
1613
+ # The token value retrieved from a previous call to access the next page
1614
+ # of results.
1615
+ #
1616
+ # @option params [Integer] :max_results
1617
+ # The maximum size of the results that is returned per call.
1618
+ #
1619
+ # @return [Types::ListSchemasOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1620
+ #
1621
+ # * {Types::ListSchemasOutput#schema_summaries #schema_summaries} => Array&lt;Types::SchemaSummary&gt;
1622
+ # * {Types::ListSchemasOutput#next_token #next_token} => String
1623
+ #
1624
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1625
+ #
1626
+ # @example Request syntax with placeholder values
1627
+ #
1628
+ # resp = client.list_schemas({
1629
+ # collaboration_identifier: "CollaborationIdentifier", # required
1630
+ # schema_type: "TABLE", # accepts TABLE
1631
+ # next_token: "PaginationToken",
1632
+ # max_results: 1,
1633
+ # })
1634
+ #
1635
+ # @example Response structure
1636
+ #
1637
+ # resp.schema_summaries #=> Array
1638
+ # resp.schema_summaries[0].name #=> String
1639
+ # resp.schema_summaries[0].type #=> String, one of "TABLE"
1640
+ # resp.schema_summaries[0].creator_account_id #=> String
1641
+ # resp.schema_summaries[0].create_time #=> Time
1642
+ # resp.schema_summaries[0].update_time #=> Time
1643
+ # resp.schema_summaries[0].collaboration_id #=> String
1644
+ # resp.schema_summaries[0].collaboration_arn #=> String
1645
+ # resp.schema_summaries[0].analysis_rule_types #=> Array
1646
+ # resp.schema_summaries[0].analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST"
1647
+ # resp.schema_summaries[0].analysis_method #=> String, one of "DIRECT_QUERY"
1648
+ # resp.next_token #=> String
1649
+ #
1650
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListSchemas AWS API Documentation
1651
+ #
1652
+ # @overload list_schemas(params = {})
1653
+ # @param [Hash] params ({})
1654
+ def list_schemas(params = {}, options = {})
1655
+ req = build_request(:list_schemas, params)
1656
+ req.send_request(options)
1657
+ end
1658
+
1659
+ # Creates a protected query that is started by AWS Clean Rooms.
1660
+ #
1661
+ # @option params [required, String] :type
1662
+ # The type of the protected query to be started.
1663
+ #
1664
+ # @option params [required, String] :membership_identifier
1665
+ # A unique identifier for the membership to run this query against.
1666
+ # Currently accepts a membership ID.
1667
+ #
1668
+ # @option params [required, Types::ProtectedQuerySQLParameters] :sql_parameters
1669
+ # The protected SQL query parameters.
1670
+ #
1671
+ # @option params [required, Types::ProtectedQueryResultConfiguration] :result_configuration
1672
+ # The details needed to write the query results.
1673
+ #
1674
+ # @return [Types::StartProtectedQueryOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1675
+ #
1676
+ # * {Types::StartProtectedQueryOutput#protected_query #protected_query} => Types::ProtectedQuery
1677
+ #
1678
+ # @example Request syntax with placeholder values
1679
+ #
1680
+ # resp = client.start_protected_query({
1681
+ # type: "SQL", # required, accepts SQL
1682
+ # membership_identifier: "MembershipIdentifier", # required
1683
+ # sql_parameters: { # required
1684
+ # query_string: "ProtectedQuerySQLParametersQueryStringString", # required
1685
+ # },
1686
+ # result_configuration: { # required
1687
+ # output_configuration: { # required
1688
+ # s3: {
1689
+ # result_format: "CSV", # required, accepts CSV, PARQUET
1690
+ # bucket: "ProtectedQueryS3OutputConfigurationBucketString", # required
1691
+ # key_prefix: "KeyPrefix",
1692
+ # },
1693
+ # },
1694
+ # },
1695
+ # })
1696
+ #
1697
+ # @example Response structure
1698
+ #
1699
+ # resp.protected_query.id #=> String
1700
+ # resp.protected_query.membership_id #=> String
1701
+ # resp.protected_query.membership_arn #=> String
1702
+ # resp.protected_query.create_time #=> Time
1703
+ # resp.protected_query.sql_parameters.query_string #=> String
1704
+ # resp.protected_query.status #=> String, one of "SUBMITTED", "STARTED", "CANCELLED", "CANCELLING", "FAILED", "SUCCESS", "TIMED_OUT"
1705
+ # resp.protected_query.result_configuration.output_configuration.s3.result_format #=> String, one of "CSV", "PARQUET"
1706
+ # resp.protected_query.result_configuration.output_configuration.s3.bucket #=> String
1707
+ # resp.protected_query.result_configuration.output_configuration.s3.key_prefix #=> String
1708
+ # resp.protected_query.statistics.total_duration_in_millis #=> Integer
1709
+ # resp.protected_query.result.output.s3.location #=> String
1710
+ # resp.protected_query.error.message #=> String
1711
+ # resp.protected_query.error.code #=> String
1712
+ #
1713
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/StartProtectedQuery AWS API Documentation
1714
+ #
1715
+ # @overload start_protected_query(params = {})
1716
+ # @param [Hash] params ({})
1717
+ def start_protected_query(params = {}, options = {})
1718
+ req = build_request(:start_protected_query, params)
1719
+ req.send_request(options)
1720
+ end
1721
+
1722
+ # Updates collaboration metadata and can only be called by the
1723
+ # collaboration owner.
1724
+ #
1725
+ # @option params [required, String] :collaboration_identifier
1726
+ # The identifier for the collaboration.
1727
+ #
1728
+ # @option params [String] :name
1729
+ # A human-readable identifier provided by the collaboration owner.
1730
+ # Display names are not unique.
1731
+ #
1732
+ # @option params [String] :description
1733
+ # A description of the collaboration.
1734
+ #
1735
+ # @return [Types::UpdateCollaborationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1736
+ #
1737
+ # * {Types::UpdateCollaborationOutput#collaboration #collaboration} => Types::Collaboration
1738
+ #
1739
+ # @example Request syntax with placeholder values
1740
+ #
1741
+ # resp = client.update_collaboration({
1742
+ # collaboration_identifier: "CollaborationIdentifier", # required
1743
+ # name: "CollaborationName",
1744
+ # description: "CollaborationDescription",
1745
+ # })
1746
+ #
1747
+ # @example Response structure
1748
+ #
1749
+ # resp.collaboration.id #=> String
1750
+ # resp.collaboration.arn #=> String
1751
+ # resp.collaboration.name #=> String
1752
+ # resp.collaboration.description #=> String
1753
+ # resp.collaboration.creator_account_id #=> String
1754
+ # resp.collaboration.creator_display_name #=> String
1755
+ # resp.collaboration.create_time #=> Time
1756
+ # resp.collaboration.update_time #=> Time
1757
+ # resp.collaboration.member_status #=> String, one of "INVITED", "ACTIVE", "LEFT", "REMOVED"
1758
+ # resp.collaboration.membership_id #=> String
1759
+ # resp.collaboration.membership_arn #=> String
1760
+ # resp.collaboration.data_encryption_metadata.allow_cleartext #=> Boolean
1761
+ # resp.collaboration.data_encryption_metadata.allow_duplicates #=> Boolean
1762
+ # resp.collaboration.data_encryption_metadata.allow_joins_on_columns_with_different_names #=> Boolean
1763
+ # resp.collaboration.data_encryption_metadata.preserve_nulls #=> Boolean
1764
+ # resp.collaboration.query_log_status #=> String, one of "ENABLED", "DISABLED"
1765
+ #
1766
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateCollaboration AWS API Documentation
1767
+ #
1768
+ # @overload update_collaboration(params = {})
1769
+ # @param [Hash] params ({})
1770
+ def update_collaboration(params = {}, options = {})
1771
+ req = build_request(:update_collaboration, params)
1772
+ req.send_request(options)
1773
+ end
1774
+
1775
+ # Updates a configured table.
1776
+ #
1777
+ # @option params [required, String] :configured_table_identifier
1778
+ # The identifier for the configured table to update. Currently accepts
1779
+ # the configured table ID.
1780
+ #
1781
+ # @option params [String] :name
1782
+ # A new name for the configured table.
1783
+ #
1784
+ # @option params [String] :description
1785
+ # A new description for the configured table.
1786
+ #
1787
+ # @return [Types::UpdateConfiguredTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1788
+ #
1789
+ # * {Types::UpdateConfiguredTableOutput#configured_table #configured_table} => Types::ConfiguredTable
1790
+ #
1791
+ # @example Request syntax with placeholder values
1792
+ #
1793
+ # resp = client.update_configured_table({
1794
+ # configured_table_identifier: "ConfiguredTableIdentifier", # required
1795
+ # name: "DisplayName",
1796
+ # description: "TableDescription",
1797
+ # })
1798
+ #
1799
+ # @example Response structure
1800
+ #
1801
+ # resp.configured_table.id #=> String
1802
+ # resp.configured_table.arn #=> String
1803
+ # resp.configured_table.name #=> String
1804
+ # resp.configured_table.description #=> String
1805
+ # resp.configured_table.table_reference.glue.table_name #=> String
1806
+ # resp.configured_table.table_reference.glue.database_name #=> String
1807
+ # resp.configured_table.create_time #=> Time
1808
+ # resp.configured_table.update_time #=> Time
1809
+ # resp.configured_table.analysis_rule_types #=> Array
1810
+ # resp.configured_table.analysis_rule_types[0] #=> String, one of "AGGREGATION", "LIST"
1811
+ # resp.configured_table.analysis_method #=> String, one of "DIRECT_QUERY"
1812
+ # resp.configured_table.allowed_columns #=> Array
1813
+ # resp.configured_table.allowed_columns[0] #=> String
1814
+ #
1815
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTable AWS API Documentation
1816
+ #
1817
+ # @overload update_configured_table(params = {})
1818
+ # @param [Hash] params ({})
1819
+ def update_configured_table(params = {}, options = {})
1820
+ req = build_request(:update_configured_table, params)
1821
+ req.send_request(options)
1822
+ end
1823
+
1824
+ # Updates a configured table analysis rule.
1825
+ #
1826
+ # @option params [required, String] :configured_table_identifier
1827
+ # The unique identifier for the configured table that the analysis rule
1828
+ # applies to. Currently accepts the configured table ID.
1829
+ #
1830
+ # @option params [required, String] :analysis_rule_type
1831
+ # The analysis rule type to be updated. Configured table analysis rules
1832
+ # are uniquely identified by their configured table identifier and
1833
+ # analysis rule type.
1834
+ #
1835
+ # @option params [required, Types::ConfiguredTableAnalysisRulePolicy] :analysis_rule_policy
1836
+ # The new analysis rule policy for the configured table analysis rule.
1837
+ #
1838
+ # @return [Types::UpdateConfiguredTableAnalysisRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1839
+ #
1840
+ # * {Types::UpdateConfiguredTableAnalysisRuleOutput#analysis_rule #analysis_rule} => Types::ConfiguredTableAnalysisRule
1841
+ #
1842
+ # @example Request syntax with placeholder values
1843
+ #
1844
+ # resp = client.update_configured_table_analysis_rule({
1845
+ # configured_table_identifier: "ConfiguredTableIdentifier", # required
1846
+ # analysis_rule_type: "AGGREGATION", # required, accepts AGGREGATION, LIST
1847
+ # analysis_rule_policy: { # required
1848
+ # v1: {
1849
+ # list: {
1850
+ # join_columns: ["AnalysisRuleColumnName"], # required
1851
+ # list_columns: ["AnalysisRuleColumnName"], # required
1852
+ # },
1853
+ # aggregation: {
1854
+ # aggregate_columns: [ # required
1855
+ # {
1856
+ # column_names: ["AnalysisRuleColumnName"], # required
1857
+ # function: "SUM", # required, accepts SUM, SUM_DISTINCT, COUNT, COUNT_DISTINCT, AVG
1858
+ # },
1859
+ # ],
1860
+ # join_columns: ["AnalysisRuleColumnName"], # required
1861
+ # join_required: "QUERY_RUNNER", # accepts QUERY_RUNNER
1862
+ # dimension_columns: ["AnalysisRuleColumnName"], # required
1863
+ # scalar_functions: ["TRUNC"], # required, accepts TRUNC, ABS, CEILING, FLOOR, LN, LOG, ROUND, SQRT, CAST, LOWER, RTRIM, UPPER, COALESCE
1864
+ # output_constraints: [ # required
1865
+ # {
1866
+ # column_name: "AnalysisRuleColumnName", # required
1867
+ # minimum: 1, # required
1868
+ # type: "COUNT_DISTINCT", # required, accepts COUNT_DISTINCT
1869
+ # },
1870
+ # ],
1871
+ # },
1872
+ # },
1873
+ # },
1874
+ # })
1875
+ #
1876
+ # @example Response structure
1877
+ #
1878
+ # resp.analysis_rule.configured_table_id #=> String
1879
+ # resp.analysis_rule.configured_table_arn #=> String
1880
+ # resp.analysis_rule.policy.v1.list.join_columns #=> Array
1881
+ # resp.analysis_rule.policy.v1.list.join_columns[0] #=> String
1882
+ # resp.analysis_rule.policy.v1.list.list_columns #=> Array
1883
+ # resp.analysis_rule.policy.v1.list.list_columns[0] #=> String
1884
+ # resp.analysis_rule.policy.v1.aggregation.aggregate_columns #=> Array
1885
+ # resp.analysis_rule.policy.v1.aggregation.aggregate_columns[0].column_names #=> Array
1886
+ # resp.analysis_rule.policy.v1.aggregation.aggregate_columns[0].column_names[0] #=> String
1887
+ # resp.analysis_rule.policy.v1.aggregation.aggregate_columns[0].function #=> String, one of "SUM", "SUM_DISTINCT", "COUNT", "COUNT_DISTINCT", "AVG"
1888
+ # resp.analysis_rule.policy.v1.aggregation.join_columns #=> Array
1889
+ # resp.analysis_rule.policy.v1.aggregation.join_columns[0] #=> String
1890
+ # resp.analysis_rule.policy.v1.aggregation.join_required #=> String, one of "QUERY_RUNNER"
1891
+ # resp.analysis_rule.policy.v1.aggregation.dimension_columns #=> Array
1892
+ # resp.analysis_rule.policy.v1.aggregation.dimension_columns[0] #=> String
1893
+ # resp.analysis_rule.policy.v1.aggregation.scalar_functions #=> Array
1894
+ # resp.analysis_rule.policy.v1.aggregation.scalar_functions[0] #=> String, one of "TRUNC", "ABS", "CEILING", "FLOOR", "LN", "LOG", "ROUND", "SQRT", "CAST", "LOWER", "RTRIM", "UPPER", "COALESCE"
1895
+ # resp.analysis_rule.policy.v1.aggregation.output_constraints #=> Array
1896
+ # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].column_name #=> String
1897
+ # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].minimum #=> Integer
1898
+ # resp.analysis_rule.policy.v1.aggregation.output_constraints[0].type #=> String, one of "COUNT_DISTINCT"
1899
+ # resp.analysis_rule.type #=> String, one of "AGGREGATION", "LIST"
1900
+ # resp.analysis_rule.create_time #=> Time
1901
+ # resp.analysis_rule.update_time #=> Time
1902
+ #
1903
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTableAnalysisRule AWS API Documentation
1904
+ #
1905
+ # @overload update_configured_table_analysis_rule(params = {})
1906
+ # @param [Hash] params ({})
1907
+ def update_configured_table_analysis_rule(params = {}, options = {})
1908
+ req = build_request(:update_configured_table_analysis_rule, params)
1909
+ req.send_request(options)
1910
+ end
1911
+
1912
+ # Updates a configured table association.
1913
+ #
1914
+ # @option params [required, String] :configured_table_association_identifier
1915
+ # The unique identifier for the configured table association to update.
1916
+ # Currently accepts the configured table association ID.
1917
+ #
1918
+ # @option params [required, String] :membership_identifier
1919
+ # The unique ID for the membership that the configured table association
1920
+ # belongs to.
1921
+ #
1922
+ # @option params [String] :description
1923
+ # A new description for the configured table association.
1924
+ #
1925
+ # @option params [String] :role_arn
1926
+ # The service will assume this role to access catalog metadata and query
1927
+ # the table.
1928
+ #
1929
+ # @return [Types::UpdateConfiguredTableAssociationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1930
+ #
1931
+ # * {Types::UpdateConfiguredTableAssociationOutput#configured_table_association #configured_table_association} => Types::ConfiguredTableAssociation
1932
+ #
1933
+ # @example Request syntax with placeholder values
1934
+ #
1935
+ # resp = client.update_configured_table_association({
1936
+ # configured_table_association_identifier: "ConfiguredTableAssociationIdentifier", # required
1937
+ # membership_identifier: "MembershipIdentifier", # required
1938
+ # description: "TableDescription",
1939
+ # role_arn: "RoleArn",
1940
+ # })
1941
+ #
1942
+ # @example Response structure
1943
+ #
1944
+ # resp.configured_table_association.arn #=> String
1945
+ # resp.configured_table_association.id #=> String
1946
+ # resp.configured_table_association.configured_table_id #=> String
1947
+ # resp.configured_table_association.configured_table_arn #=> String
1948
+ # resp.configured_table_association.membership_id #=> String
1949
+ # resp.configured_table_association.membership_arn #=> String
1950
+ # resp.configured_table_association.role_arn #=> String
1951
+ # resp.configured_table_association.name #=> String
1952
+ # resp.configured_table_association.description #=> String
1953
+ # resp.configured_table_association.create_time #=> Time
1954
+ # resp.configured_table_association.update_time #=> Time
1955
+ #
1956
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTableAssociation AWS API Documentation
1957
+ #
1958
+ # @overload update_configured_table_association(params = {})
1959
+ # @param [Hash] params ({})
1960
+ def update_configured_table_association(params = {}, options = {})
1961
+ req = build_request(:update_configured_table_association, params)
1962
+ req.send_request(options)
1963
+ end
1964
+
1965
+ # Updates a membership.
1966
+ #
1967
+ # @option params [required, String] :membership_identifier
1968
+ # The unique identifier of the membership.
1969
+ #
1970
+ # @option params [String] :query_log_status
1971
+ # An indicator as to whether query logging has been enabled or disabled
1972
+ # for the collaboration.
1973
+ #
1974
+ # @return [Types::UpdateMembershipOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1975
+ #
1976
+ # * {Types::UpdateMembershipOutput#membership #membership} => Types::Membership
1977
+ #
1978
+ # @example Request syntax with placeholder values
1979
+ #
1980
+ # resp = client.update_membership({
1981
+ # membership_identifier: "MembershipIdentifier", # required
1982
+ # query_log_status: "ENABLED", # accepts ENABLED, DISABLED
1983
+ # })
1984
+ #
1985
+ # @example Response structure
1986
+ #
1987
+ # resp.membership.id #=> String
1988
+ # resp.membership.arn #=> String
1989
+ # resp.membership.collaboration_arn #=> String
1990
+ # resp.membership.collaboration_id #=> String
1991
+ # resp.membership.collaboration_creator_account_id #=> String
1992
+ # resp.membership.collaboration_creator_display_name #=> String
1993
+ # resp.membership.collaboration_name #=> String
1994
+ # resp.membership.create_time #=> Time
1995
+ # resp.membership.update_time #=> Time
1996
+ # resp.membership.status #=> String, one of "ACTIVE", "REMOVED", "COLLABORATION_DELETED"
1997
+ # resp.membership.member_abilities #=> Array
1998
+ # resp.membership.member_abilities[0] #=> String, one of "CAN_QUERY", "CAN_RECEIVE_RESULTS"
1999
+ # resp.membership.query_log_status #=> String, one of "ENABLED", "DISABLED"
2000
+ #
2001
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateMembership AWS API Documentation
2002
+ #
2003
+ # @overload update_membership(params = {})
2004
+ # @param [Hash] params ({})
2005
+ def update_membership(params = {}, options = {})
2006
+ req = build_request(:update_membership, params)
2007
+ req.send_request(options)
2008
+ end
2009
+
2010
+ # Updates the processing of a currently running query.
2011
+ #
2012
+ # @option params [required, String] :membership_identifier
2013
+ # The identifier for a member of a protected query instance.
2014
+ #
2015
+ # @option params [required, String] :protected_query_identifier
2016
+ # The identifier for a protected query instance.
2017
+ #
2018
+ # @option params [required, String] :target_status
2019
+ # The target status of a query. Used to update the execution status of a
2020
+ # currently running query.
2021
+ #
2022
+ # @return [Types::UpdateProtectedQueryOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2023
+ #
2024
+ # * {Types::UpdateProtectedQueryOutput#protected_query #protected_query} => Types::ProtectedQuery
2025
+ #
2026
+ # @example Request syntax with placeholder values
2027
+ #
2028
+ # resp = client.update_protected_query({
2029
+ # membership_identifier: "MembershipIdentifier", # required
2030
+ # protected_query_identifier: "ProtectedQueryIdentifier", # required
2031
+ # target_status: "CANCELLED", # required, accepts CANCELLED
2032
+ # })
2033
+ #
2034
+ # @example Response structure
2035
+ #
2036
+ # resp.protected_query.id #=> String
2037
+ # resp.protected_query.membership_id #=> String
2038
+ # resp.protected_query.membership_arn #=> String
2039
+ # resp.protected_query.create_time #=> Time
2040
+ # resp.protected_query.sql_parameters.query_string #=> String
2041
+ # resp.protected_query.status #=> String, one of "SUBMITTED", "STARTED", "CANCELLED", "CANCELLING", "FAILED", "SUCCESS", "TIMED_OUT"
2042
+ # resp.protected_query.result_configuration.output_configuration.s3.result_format #=> String, one of "CSV", "PARQUET"
2043
+ # resp.protected_query.result_configuration.output_configuration.s3.bucket #=> String
2044
+ # resp.protected_query.result_configuration.output_configuration.s3.key_prefix #=> String
2045
+ # resp.protected_query.statistics.total_duration_in_millis #=> Integer
2046
+ # resp.protected_query.result.output.s3.location #=> String
2047
+ # resp.protected_query.error.message #=> String
2048
+ # resp.protected_query.error.code #=> String
2049
+ #
2050
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateProtectedQuery AWS API Documentation
2051
+ #
2052
+ # @overload update_protected_query(params = {})
2053
+ # @param [Hash] params ({})
2054
+ def update_protected_query(params = {}, options = {})
2055
+ req = build_request(:update_protected_query, params)
2056
+ req.send_request(options)
2057
+ end
2058
+
2059
+ # @!endgroup
2060
+
2061
+ # @param params ({})
2062
+ # @api private
2063
+ def build_request(operation_name, params = {})
2064
+ handlers = @handlers.for(operation_name)
2065
+ context = Seahorse::Client::RequestContext.new(
2066
+ operation_name: operation_name,
2067
+ operation: config.api.operation(operation_name),
2068
+ client: self,
2069
+ params: params,
2070
+ config: config)
2071
+ context[:gem_name] = 'aws-sdk-cleanrooms'
2072
+ context[:gem_version] = '1.0.0'
2073
+ Seahorse::Client::Request.new(handlers, context)
2074
+ end
2075
+
2076
+ # @api private
2077
+ # @deprecated
2078
+ def waiter_names
2079
+ []
2080
+ end
2081
+
2082
+ class << self
2083
+
2084
+ # @api private
2085
+ attr_reader :identifier
2086
+
2087
+ # @api private
2088
+ def errors_module
2089
+ Errors
2090
+ end
2091
+
2092
+ end
2093
+ end
2094
+ end