aws-sdk-rtbfabric 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,2932 @@
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'
11
+ require 'aws-sdk-core/plugins/credentials_configuration'
12
+ require 'aws-sdk-core/plugins/logging'
13
+ require 'aws-sdk-core/plugins/param_converter'
14
+ require 'aws-sdk-core/plugins/param_validator'
15
+ require 'aws-sdk-core/plugins/user_agent'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors'
17
+ require 'aws-sdk-core/plugins/retry_errors'
18
+ require 'aws-sdk-core/plugins/global_configuration'
19
+ require 'aws-sdk-core/plugins/regional_endpoint'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern'
22
+ require 'aws-sdk-core/plugins/response_paging'
23
+ require 'aws-sdk-core/plugins/stub_responses'
24
+ require 'aws-sdk-core/plugins/idempotency_token'
25
+ require 'aws-sdk-core/plugins/invocation_id'
26
+ require 'aws-sdk-core/plugins/jsonvalue_converter'
27
+ require 'aws-sdk-core/plugins/client_metrics_plugin'
28
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin'
29
+ require 'aws-sdk-core/plugins/transfer_encoding'
30
+ require 'aws-sdk-core/plugins/http_checksum'
31
+ require 'aws-sdk-core/plugins/checksum_algorithm'
32
+ require 'aws-sdk-core/plugins/request_compression'
33
+ require 'aws-sdk-core/plugins/defaults_mode'
34
+ require 'aws-sdk-core/plugins/recursion_detection'
35
+ require 'aws-sdk-core/plugins/telemetry'
36
+ require 'aws-sdk-core/plugins/sign'
37
+ require 'aws-sdk-core/plugins/protocols/rest_json'
38
+
39
+ module Aws::RTBFabric
40
+ # An API client for RTBFabric. To construct a client, you need to configure a `:region` and `:credentials`.
41
+ #
42
+ # client = Aws::RTBFabric::Client.new(
43
+ # region: region_name,
44
+ # credentials: credentials,
45
+ # # ...
46
+ # )
47
+ #
48
+ # For details on configuring region and credentials see
49
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
50
+ #
51
+ # See {#initialize} for a full list of supported configuration options.
52
+ class Client < Seahorse::Client::Base
53
+
54
+ include Aws::ClientStubs
55
+
56
+ @identifier = :rtbfabric
57
+
58
+ set_api(ClientApi::API)
59
+
60
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
61
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
62
+ add_plugin(Aws::Plugins::Logging)
63
+ add_plugin(Aws::Plugins::ParamConverter)
64
+ add_plugin(Aws::Plugins::ParamValidator)
65
+ add_plugin(Aws::Plugins::UserAgent)
66
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
67
+ add_plugin(Aws::Plugins::RetryErrors)
68
+ add_plugin(Aws::Plugins::GlobalConfiguration)
69
+ add_plugin(Aws::Plugins::RegionalEndpoint)
70
+ add_plugin(Aws::Plugins::EndpointDiscovery)
71
+ add_plugin(Aws::Plugins::EndpointPattern)
72
+ add_plugin(Aws::Plugins::ResponsePaging)
73
+ add_plugin(Aws::Plugins::StubResponses)
74
+ add_plugin(Aws::Plugins::IdempotencyToken)
75
+ add_plugin(Aws::Plugins::InvocationId)
76
+ add_plugin(Aws::Plugins::JsonvalueConverter)
77
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
78
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
79
+ add_plugin(Aws::Plugins::TransferEncoding)
80
+ add_plugin(Aws::Plugins::HttpChecksum)
81
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
82
+ add_plugin(Aws::Plugins::RequestCompression)
83
+ add_plugin(Aws::Plugins::DefaultsMode)
84
+ add_plugin(Aws::Plugins::RecursionDetection)
85
+ add_plugin(Aws::Plugins::Telemetry)
86
+ add_plugin(Aws::Plugins::Sign)
87
+ add_plugin(Aws::Plugins::Protocols::RestJson)
88
+ add_plugin(Aws::RTBFabric::Plugins::Endpoints)
89
+
90
+ # @overload initialize(options)
91
+ # @param [Hash] options
92
+ #
93
+ # @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
94
+ # A list of plugins to apply to the client. Each plugin is either a
95
+ # class name or an instance of a plugin class.
96
+ #
97
+ # @option options [required, Aws::CredentialProvider] :credentials
98
+ # Your AWS credentials used for authentication. This can be any class that includes and implements
99
+ # `Aws::CredentialProvider`, or instance of any one of the following classes:
100
+ #
101
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
102
+ # credentials.
103
+ #
104
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
105
+ # shared file, such as `~/.aws/config`.
106
+ #
107
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ #
109
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
110
+ # assume a role after providing credentials via the web.
111
+ #
112
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
113
+ # access token generated from `aws login`.
114
+ #
115
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
116
+ # process that outputs to stdout.
117
+ #
118
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
119
+ # from an EC2 IMDS on an EC2 instance.
120
+ #
121
+ # * `Aws::ECSCredentials` - Used for loading credentials from
122
+ # instances running in ECS.
123
+ #
124
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
125
+ # from the Cognito Identity service.
126
+ #
127
+ # When `:credentials` are not configured directly, the following locations will be searched for credentials:
128
+ #
129
+ # * `Aws.config[:credentials]`
130
+ #
131
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
132
+ # `:account_id` options.
133
+ #
134
+ # * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
135
+ # `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
136
+ #
137
+ # * `~/.aws/credentials`
138
+ #
139
+ # * `~/.aws/config`
140
+ #
141
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive.
142
+ # Construct and pass an instance of `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
143
+ # enable retries and extended timeouts. Instance profile credential fetching can be disabled by
144
+ # setting `ENV['AWS_EC2_METADATA_DISABLED']` to `true`.
145
+ #
146
+ # @option options [required, String] :region
147
+ # The AWS region to connect to. The configured `:region` is
148
+ # used to determine the service `:endpoint`. When not passed,
149
+ # a default `:region` is searched for in the following locations:
150
+ #
151
+ # * `Aws.config[:region]`
152
+ # * `ENV['AWS_REGION']`
153
+ # * `ENV['AMAZON_REGION']`
154
+ # * `ENV['AWS_DEFAULT_REGION']`
155
+ # * `~/.aws/credentials`
156
+ # * `~/.aws/config`
157
+ #
158
+ # @option options [String] :access_key_id
159
+ #
160
+ # @option options [String] :account_id
161
+ #
162
+ # @option options [Boolean] :active_endpoint_cache (false)
163
+ # When set to `true`, a thread polling for endpoints will be running in
164
+ # the background every 60 secs (default). Defaults to `false`.
165
+ #
166
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
167
+ # Used only in `adaptive` retry mode. When true, the request will sleep
168
+ # until there is sufficent client side capacity to retry the request.
169
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
170
+ # not retry instead of sleeping.
171
+ #
172
+ # @option options [Array<String>] :auth_scheme_preference
173
+ # A list of preferred authentication schemes to use when making a request. Supported values are:
174
+ # `sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
175
+ # shared config as `auth_scheme_preference`, the value should be a comma-separated list.
176
+ #
177
+ # @option options [Boolean] :client_side_monitoring (false)
178
+ # When `true`, client-side metrics will be collected for all API requests from
179
+ # this client.
180
+ #
181
+ # @option options [String] :client_side_monitoring_client_id ("")
182
+ # Allows you to provide an identifier for this client which will be attached to
183
+ # all generated client side metrics. Defaults to an empty string.
184
+ #
185
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
186
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
187
+ # side monitoring agent is running on, where client metrics will be published via UDP.
188
+ #
189
+ # @option options [Integer] :client_side_monitoring_port (31000)
190
+ # Required for publishing client metrics. The port that the client side monitoring
191
+ # agent is running on, where client metrics will be published via UDP.
192
+ #
193
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
194
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
195
+ # will use the Client Side Monitoring Agent Publisher.
196
+ #
197
+ # @option options [Boolean] :convert_params (true)
198
+ # When `true`, an attempt is made to coerce request parameters into
199
+ # the required types.
200
+ #
201
+ # @option options [Boolean] :correct_clock_skew (true)
202
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
203
+ # a clock skew correction and retry requests with skewed client clocks.
204
+ #
205
+ # @option options [String] :defaults_mode ("legacy")
206
+ # See {Aws::DefaultsModeConfiguration} for a list of the
207
+ # accepted modes and the configuration defaults that are included.
208
+ #
209
+ # @option options [Boolean] :disable_host_prefix_injection (false)
210
+ # When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
211
+ #
212
+ # @option options [Boolean] :disable_request_compression (false)
213
+ # When set to 'true' the request body will not be compressed
214
+ # for supported operations.
215
+ #
216
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
217
+ # Normally you should not configure the `:endpoint` option
218
+ # directly. This is normally constructed from the `:region`
219
+ # option. Configuring `:endpoint` is normally reserved for
220
+ # connecting to test or custom endpoints. The endpoint should
221
+ # be a URI formatted like:
222
+ #
223
+ # 'http://example.com'
224
+ # 'https://example.com'
225
+ # 'http://example.com:123'
226
+ #
227
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
228
+ # Used for the maximum size limit of the LRU cache storing endpoints data
229
+ # for endpoint discovery enabled operations. Defaults to 1000.
230
+ #
231
+ # @option options [Integer] :endpoint_cache_max_threads (10)
232
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
233
+ #
234
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
235
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
236
+ # Use this option to config the time interval in seconds for making
237
+ # requests fetching endpoints information. Defaults to 60 sec.
238
+ #
239
+ # @option options [Boolean] :endpoint_discovery (false)
240
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
241
+ #
242
+ # @option options [Boolean] :ignore_configured_endpoint_urls
243
+ # Setting to true disables use of endpoint URLs provided via environment
244
+ # variables and the shared configuration file.
245
+ #
246
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
247
+ # The log formatter.
248
+ #
249
+ # @option options [Symbol] :log_level (:info)
250
+ # The log level to send messages to the `:logger` at.
251
+ #
252
+ # @option options [Logger] :logger
253
+ # The Logger instance to send log messages to. If this option
254
+ # is not set, logging will be disabled.
255
+ #
256
+ # @option options [Integer] :max_attempts (3)
257
+ # An integer representing the maximum number attempts that will be made for
258
+ # a single request, including the initial attempt. For example,
259
+ # setting this value to 5 will result in a request being retried up to
260
+ # 4 times. Used in `standard` and `adaptive` retry modes.
261
+ #
262
+ # @option options [String] :profile ("default")
263
+ # Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
264
+ # When not specified, 'default' is used.
265
+ #
266
+ # @option options [String] :request_checksum_calculation ("when_supported")
267
+ # Determines when a checksum will be calculated for request payloads. Values are:
268
+ #
269
+ # * `when_supported` - (default) When set, a checksum will be
270
+ # calculated for all request payloads of operations modeled with the
271
+ # `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a
272
+ # `requestAlgorithmMember` is modeled.
273
+ # * `when_required` - When set, a checksum will only be calculated for
274
+ # request payloads of operations modeled with the `httpChecksum` trait where
275
+ # `requestChecksumRequired` is `true` or where a `requestAlgorithmMember`
276
+ # is modeled and supplied.
277
+ #
278
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
279
+ # The minimum size in bytes that triggers compression for request
280
+ # bodies. The value must be non-negative integer value between 0
281
+ # and 10485780 bytes inclusive.
282
+ #
283
+ # @option options [String] :response_checksum_validation ("when_supported")
284
+ # Determines when checksum validation will be performed on response payloads. Values are:
285
+ #
286
+ # * `when_supported` - (default) When set, checksum validation is performed on all
287
+ # response payloads of operations modeled with the `httpChecksum` trait where
288
+ # `responseAlgorithms` is modeled, except when no modeled checksum algorithms
289
+ # are supported.
290
+ # * `when_required` - When set, checksum validation is not performed on
291
+ # response payloads of operations unless the checksum algorithm is supported and
292
+ # the `requestValidationModeMember` member is set to `ENABLED`.
293
+ #
294
+ # @option options [Proc] :retry_backoff
295
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
296
+ # This option is only used in the `legacy` retry mode.
297
+ #
298
+ # @option options [Float] :retry_base_delay (0.3)
299
+ # The base delay in seconds used by the default backoff function. This option
300
+ # is only used in the `legacy` retry mode.
301
+ #
302
+ # @option options [Symbol] :retry_jitter (:none)
303
+ # A delay randomiser function used by the default backoff function.
304
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
305
+ # otherwise a Proc that takes and returns a number. This option is only used
306
+ # in the `legacy` retry mode.
307
+ #
308
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
309
+ #
310
+ # @option options [Integer] :retry_limit (3)
311
+ # The maximum number of times to retry failed requests. Only
312
+ # ~ 500 level server errors and certain ~ 400 level client errors
313
+ # are retried. Generally, these are throttling errors, data
314
+ # checksum errors, networking errors, timeout errors, auth errors,
315
+ # endpoint discovery, and errors from expired credentials.
316
+ # This option is only used in the `legacy` retry mode.
317
+ #
318
+ # @option options [Integer] :retry_max_delay (0)
319
+ # The maximum number of seconds to delay between retries (0 for no limit)
320
+ # used by the default backoff function. This option is only used in the
321
+ # `legacy` retry mode.
322
+ #
323
+ # @option options [String] :retry_mode ("legacy")
324
+ # Specifies which retry algorithm to use. Values are:
325
+ #
326
+ # * `legacy` - The pre-existing retry behavior. This is default value if
327
+ # no retry mode is provided.
328
+ #
329
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
330
+ # This includes support for retry quotas, which limit the number of
331
+ # unsuccessful retries a client can make.
332
+ #
333
+ # * `adaptive` - An experimental retry mode that includes all the
334
+ # functionality of `standard` mode along with automatic client side
335
+ # throttling. This is a provisional mode that may change behavior
336
+ # in the future.
337
+ #
338
+ # @option options [String] :sdk_ua_app_id
339
+ # A unique and opaque application ID that is appended to the
340
+ # User-Agent header as app/sdk_ua_app_id. It should have a
341
+ # maximum length of 50. This variable is sourced from environment
342
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
343
+ #
344
+ # @option options [String] :secret_access_key
345
+ #
346
+ # @option options [String] :session_token
347
+ #
348
+ # @option options [Array] :sigv4a_signing_region_set
349
+ # A list of regions that should be signed with SigV4a signing. When
350
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
351
+ # in the following locations:
352
+ #
353
+ # * `Aws.config[:sigv4a_signing_region_set]`
354
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
355
+ # * `~/.aws/config`
356
+ #
357
+ # @option options [Boolean] :stub_responses (false)
358
+ # Causes the client to return stubbed responses. By default
359
+ # fake responses are generated and returned. You can specify
360
+ # the response data to return or errors to raise by calling
361
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
362
+ #
363
+ # ** Please note ** When response stubbing is enabled, no HTTP
364
+ # requests are made, and retries are disabled.
365
+ #
366
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
367
+ # Allows you to provide a telemetry provider, which is used to
368
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
369
+ # will not record or emit any telemetry data. The SDK supports the
370
+ # following telemetry providers:
371
+ #
372
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
373
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
374
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
375
+ #
376
+ # @option options [Aws::TokenProvider] :token_provider
377
+ # Your Bearer token used for authentication. This can be any class that includes and implements
378
+ # `Aws::TokenProvider`, or instance of any one of the following classes:
379
+ #
380
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
381
+ # tokens.
382
+ #
383
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
384
+ # access token generated from `aws login`.
385
+ #
386
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
387
+ # will be used to search for tokens configured for your profile in shared configuration files.
388
+ #
389
+ # @option options [Boolean] :use_dualstack_endpoint
390
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
391
+ # will be used if available.
392
+ #
393
+ # @option options [Boolean] :use_fips_endpoint
394
+ # When set to `true`, fips compatible endpoints will be used if available.
395
+ # When a `fips` region is used, the region is normalized and this config
396
+ # is set to `true`.
397
+ #
398
+ # @option options [Boolean] :validate_params (true)
399
+ # When `true`, request parameters are validated before
400
+ # sending the request.
401
+ #
402
+ # @option options [Aws::RTBFabric::EndpointProvider] :endpoint_provider
403
+ # The endpoint provider used to resolve endpoints. Any object that responds to
404
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
405
+ # `Aws::RTBFabric::EndpointParameters`.
406
+ #
407
+ # @option options [Float] :http_continue_timeout (1)
408
+ # The number of seconds to wait for a 100-continue response before sending the
409
+ # request body. This option has no effect unless the request has "Expect"
410
+ # header set to "100-continue". Defaults to `nil` which disables this
411
+ # behaviour. This value can safely be set per request on the session.
412
+ #
413
+ # @option options [Float] :http_idle_timeout (5)
414
+ # The number of seconds a connection is allowed to sit idle before it
415
+ # is considered stale. Stale connections are closed and removed from the
416
+ # pool before making a request.
417
+ #
418
+ # @option options [Float] :http_open_timeout (15)
419
+ # The default number of seconds to wait for response data.
420
+ # This value can safely be set per-request on the session.
421
+ #
422
+ # @option options [URI::HTTP,String] :http_proxy
423
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
424
+ #
425
+ # @option options [Float] :http_read_timeout (60)
426
+ # The default number of seconds to wait for response data.
427
+ # This value can safely be set per-request on the session.
428
+ #
429
+ # @option options [Boolean] :http_wire_trace (false)
430
+ # When `true`, HTTP debug output will be sent to the `:logger`.
431
+ #
432
+ # @option options [Proc] :on_chunk_received
433
+ # When a Proc object is provided, it will be used as callback when each chunk
434
+ # of the response body is received. It provides three arguments: the chunk,
435
+ # the number of bytes received, and the total number of
436
+ # bytes in the response (or nil if the server did not send a `content-length`).
437
+ #
438
+ # @option options [Proc] :on_chunk_sent
439
+ # When a Proc object is provided, it will be used as callback when each chunk
440
+ # of the request body is sent. It provides three arguments: the chunk,
441
+ # the number of bytes read from the body, and the total number of
442
+ # bytes in the body.
443
+ #
444
+ # @option options [Boolean] :raise_response_errors (true)
445
+ # When `true`, response errors are raised.
446
+ #
447
+ # @option options [String] :ssl_ca_bundle
448
+ # Full path to the SSL certificate authority bundle file that should be used when
449
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
450
+ # `:ssl_ca_directory` the the system default will be used if available.
451
+ #
452
+ # @option options [String] :ssl_ca_directory
453
+ # Full path of the directory that contains the unbundled SSL certificate
454
+ # authority files for verifying peer certificates. If you do
455
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
456
+ # default will be used if available.
457
+ #
458
+ # @option options [String] :ssl_ca_store
459
+ # Sets the X509::Store to verify peer certificate.
460
+ #
461
+ # @option options [OpenSSL::X509::Certificate] :ssl_cert
462
+ # Sets a client certificate when creating http connections.
463
+ #
464
+ # @option options [OpenSSL::PKey] :ssl_key
465
+ # Sets a client key when creating http connections.
466
+ #
467
+ # @option options [Float] :ssl_timeout
468
+ # Sets the SSL timeout in seconds
469
+ #
470
+ # @option options [Boolean] :ssl_verify_peer (true)
471
+ # When `true`, SSL peer certificates are verified when establishing a connection.
472
+ #
473
+ def initialize(*args)
474
+ super
475
+ end
476
+
477
+ # @!group API Operations
478
+
479
+ # Accepts a link request between RTB applications.
480
+ #
481
+ # When a requester RTB application requests to link with a responder RTB
482
+ # application, the responder can use this operation to accept the link
483
+ # request and establish the connection.
484
+ #
485
+ # @option params [required, String] :gateway_id
486
+ # The unique identifier of the gateway.
487
+ #
488
+ # @option params [required, String] :link_id
489
+ # The unique identifier of the link.
490
+ #
491
+ # @option params [Types::LinkAttributes] :attributes
492
+ # Attributes of the link.
493
+ #
494
+ # @option params [required, Types::LinkLogSettings] :log_settings
495
+ # Settings for the application logs.
496
+ #
497
+ # @return [Types::AcceptLinkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
498
+ #
499
+ # * {Types::AcceptLinkResponse#gateway_id #gateway_id} => String
500
+ # * {Types::AcceptLinkResponse#peer_gateway_id #peer_gateway_id} => String
501
+ # * {Types::AcceptLinkResponse#status #status} => String
502
+ # * {Types::AcceptLinkResponse#created_at #created_at} => Time
503
+ # * {Types::AcceptLinkResponse#updated_at #updated_at} => Time
504
+ # * {Types::AcceptLinkResponse#direction #direction} => String
505
+ # * {Types::AcceptLinkResponse#flow_modules #flow_modules} => Array&lt;Types::ModuleConfiguration&gt;
506
+ # * {Types::AcceptLinkResponse#pending_flow_modules #pending_flow_modules} => Array&lt;Types::ModuleConfiguration&gt;
507
+ # * {Types::AcceptLinkResponse#attributes #attributes} => Types::LinkAttributes
508
+ # * {Types::AcceptLinkResponse#link_id #link_id} => String
509
+ #
510
+ #
511
+ # @example Example: Accept a link request
512
+ #
513
+ # # Accepts a link request from requester gateway
514
+ #
515
+ # resp = client.accept_link({
516
+ # gateway_id: "rtb-gw-12345678",
517
+ # link_id: "link-87654321",
518
+ # log_settings: {
519
+ # application_logs: {
520
+ # sampling: {
521
+ # error_log: 100.0,
522
+ # filter_log: 0.0,
523
+ # },
524
+ # },
525
+ # },
526
+ # })
527
+ #
528
+ # resp.to_h outputs the following:
529
+ # {
530
+ # created_at: Time.parse("2024-01-15T10:30:00Z"),
531
+ # gateway_id: "rtb-gw-12345678",
532
+ # link_id: "link-87654321",
533
+ # peer_gateway_id: "rtb-gw-87654321",
534
+ # status: "ACCEPTED",
535
+ # updated_at: Time.parse("2024-01-15T10:35:00Z"),
536
+ # }
537
+ #
538
+ # @example Request syntax with placeholder values
539
+ #
540
+ # resp = client.accept_link({
541
+ # gateway_id: "GatewayId", # required
542
+ # link_id: "LinkId", # required
543
+ # attributes: {
544
+ # responder_error_masking: [
545
+ # {
546
+ # http_code: "ResponderErrorMaskingForHttpCodeHttpCodeString", # required
547
+ # action: "NO_BID", # required, accepts NO_BID, PASSTHROUGH
548
+ # logging_types: ["NONE"], # required, accepts NONE, METRIC, RESPONSE
549
+ # response_logging_percentage: 1.0,
550
+ # },
551
+ # ],
552
+ # customer_provided_id: "CustomerProvidedId",
553
+ # },
554
+ # log_settings: { # required
555
+ # application_logs: { # required
556
+ # sampling: { # required
557
+ # error_log: 1.0, # required
558
+ # filter_log: 1.0, # required
559
+ # },
560
+ # },
561
+ # },
562
+ # })
563
+ #
564
+ # @example Response structure
565
+ #
566
+ # resp.gateway_id #=> String
567
+ # resp.peer_gateway_id #=> String
568
+ # resp.status #=> String, one of "PENDING_CREATION", "PENDING_REQUEST", "REQUESTED", "ACCEPTED", "ACTIVE", "REJECTED", "FAILED", "PENDING_DELETION", "DELETED", "PENDING_UPDATE", "PENDING_ISOLATION", "ISOLATED", "PENDING_RESTORATION"
569
+ # resp.created_at #=> Time
570
+ # resp.updated_at #=> Time
571
+ # resp.direction #=> String, one of "RESPONSE", "REQUEST"
572
+ # resp.flow_modules #=> Array
573
+ # resp.flow_modules[0].version #=> String
574
+ # resp.flow_modules[0].name #=> String
575
+ # resp.flow_modules[0].depends_on #=> Array
576
+ # resp.flow_modules[0].depends_on[0] #=> String
577
+ # resp.flow_modules[0].module_parameters.no_bid.reason #=> String
578
+ # resp.flow_modules[0].module_parameters.no_bid.reason_code #=> Integer
579
+ # resp.flow_modules[0].module_parameters.no_bid.pass_through_percentage #=> Float
580
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_type #=> String, one of "INCLUDE", "EXCLUDE"
581
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration #=> Array
582
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria #=> Array
583
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].path #=> String
584
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values #=> Array
585
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values[0] #=> String
586
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.action.no_bid.no_bid_reason_code #=> Integer
587
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.name #=> String
588
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.value #=> String
589
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.holdback_percentage #=> Float
590
+ # resp.pending_flow_modules #=> Array
591
+ # resp.pending_flow_modules[0].version #=> String
592
+ # resp.pending_flow_modules[0].name #=> String
593
+ # resp.pending_flow_modules[0].depends_on #=> Array
594
+ # resp.pending_flow_modules[0].depends_on[0] #=> String
595
+ # resp.pending_flow_modules[0].module_parameters.no_bid.reason #=> String
596
+ # resp.pending_flow_modules[0].module_parameters.no_bid.reason_code #=> Integer
597
+ # resp.pending_flow_modules[0].module_parameters.no_bid.pass_through_percentage #=> Float
598
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_type #=> String, one of "INCLUDE", "EXCLUDE"
599
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration #=> Array
600
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria #=> Array
601
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].path #=> String
602
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values #=> Array
603
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values[0] #=> String
604
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.action.no_bid.no_bid_reason_code #=> Integer
605
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.name #=> String
606
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.value #=> String
607
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.holdback_percentage #=> Float
608
+ # resp.attributes.responder_error_masking #=> Array
609
+ # resp.attributes.responder_error_masking[0].http_code #=> String
610
+ # resp.attributes.responder_error_masking[0].action #=> String, one of "NO_BID", "PASSTHROUGH"
611
+ # resp.attributes.responder_error_masking[0].logging_types #=> Array
612
+ # resp.attributes.responder_error_masking[0].logging_types[0] #=> String, one of "NONE", "METRIC", "RESPONSE"
613
+ # resp.attributes.responder_error_masking[0].response_logging_percentage #=> Float
614
+ # resp.attributes.customer_provided_id #=> String
615
+ # resp.link_id #=> String
616
+ #
617
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/AcceptLink AWS API Documentation
618
+ #
619
+ # @overload accept_link(params = {})
620
+ # @param [Hash] params ({})
621
+ def accept_link(params = {}, options = {})
622
+ req = build_request(:accept_link, params)
623
+ req.send_request(options)
624
+ end
625
+
626
+ # Creates an inbound external link.
627
+ #
628
+ # @option params [required, String] :client_token
629
+ # The unique client token.
630
+ #
631
+ # **A suitable default value is auto-generated.** You should normally
632
+ # not need to pass this option.**
633
+ #
634
+ # @option params [required, String] :gateway_id
635
+ # The unique identifier of the gateway.
636
+ #
637
+ # @option params [Types::LinkAttributes] :attributes
638
+ # Attributes of the link.
639
+ #
640
+ # @option params [Hash<String,String>] :tags
641
+ # A map of the key-value pairs of the tag or tags to assign to the
642
+ # resource.
643
+ #
644
+ # @return [Types::CreateInboundExternalLinkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
645
+ #
646
+ # * {Types::CreateInboundExternalLinkResponse#gateway_id #gateway_id} => String
647
+ # * {Types::CreateInboundExternalLinkResponse#link_id #link_id} => String
648
+ # * {Types::CreateInboundExternalLinkResponse#status #status} => String
649
+ # * {Types::CreateInboundExternalLinkResponse#domain_name #domain_name} => String
650
+ #
651
+ #
652
+ # @example Example: Create an inbound external link
653
+ #
654
+ # # Create an inbound external link for a responder gateway
655
+ #
656
+ # resp = client.create_inbound_external_link({
657
+ # client_token: "randomClientToken",
658
+ # gateway_id: "rtb-gw-12345678",
659
+ # })
660
+ #
661
+ # resp.to_h outputs the following:
662
+ # {
663
+ # domain_name: "rtb-gw-12345678.example.com",
664
+ # gateway_id: "rtb-gw-12345678",
665
+ # link_id: "link-87654321",
666
+ # status: "ACTIVE",
667
+ # }
668
+ #
669
+ # @example Request syntax with placeholder values
670
+ #
671
+ # resp = client.create_inbound_external_link({
672
+ # client_token: "String", # required
673
+ # gateway_id: "GatewayId", # required
674
+ # attributes: {
675
+ # responder_error_masking: [
676
+ # {
677
+ # http_code: "ResponderErrorMaskingForHttpCodeHttpCodeString", # required
678
+ # action: "NO_BID", # required, accepts NO_BID, PASSTHROUGH
679
+ # logging_types: ["NONE"], # required, accepts NONE, METRIC, RESPONSE
680
+ # response_logging_percentage: 1.0,
681
+ # },
682
+ # ],
683
+ # customer_provided_id: "CustomerProvidedId",
684
+ # },
685
+ # tags: {
686
+ # "TagKey" => "TagValue",
687
+ # },
688
+ # })
689
+ #
690
+ # @example Response structure
691
+ #
692
+ # resp.gateway_id #=> String
693
+ # resp.link_id #=> String
694
+ # resp.status #=> String, one of "PENDING_CREATION", "PENDING_REQUEST", "REQUESTED", "ACCEPTED", "ACTIVE", "REJECTED", "FAILED", "PENDING_DELETION", "DELETED", "PENDING_UPDATE", "PENDING_ISOLATION", "ISOLATED", "PENDING_RESTORATION"
695
+ # resp.domain_name #=> String
696
+ #
697
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/CreateInboundExternalLink AWS API Documentation
698
+ #
699
+ # @overload create_inbound_external_link(params = {})
700
+ # @param [Hash] params ({})
701
+ def create_inbound_external_link(params = {}, options = {})
702
+ req = build_request(:create_inbound_external_link, params)
703
+ req.send_request(options)
704
+ end
705
+
706
+ # Creates a new link between RTB applications.
707
+ #
708
+ # Establishes a connection that allows RTB applications to communicate
709
+ # and exchange bid requests and responses.
710
+ #
711
+ # @option params [required, String] :gateway_id
712
+ # The unique identifier of the gateway.
713
+ #
714
+ # @option params [required, String] :peer_gateway_id
715
+ # The unique identifier of the peer gateway.
716
+ #
717
+ # @option params [Types::LinkAttributes] :attributes
718
+ # Attributes of the link.
719
+ #
720
+ # @option params [Boolean] :http_responder_allowed
721
+ # Boolean to specify if an HTTP responder is allowed.
722
+ #
723
+ # @option params [Hash<String,String>] :tags
724
+ # A map of the key-value pairs of the tag or tags to assign to the
725
+ # resource.
726
+ #
727
+ # @option params [required, Types::LinkLogSettings] :log_settings
728
+ # Settings for the application logs.
729
+ #
730
+ # @return [Types::CreateLinkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
731
+ #
732
+ # * {Types::CreateLinkResponse#gateway_id #gateway_id} => String
733
+ # * {Types::CreateLinkResponse#peer_gateway_id #peer_gateway_id} => String
734
+ # * {Types::CreateLinkResponse#status #status} => String
735
+ # * {Types::CreateLinkResponse#created_at #created_at} => Time
736
+ # * {Types::CreateLinkResponse#updated_at #updated_at} => Time
737
+ # * {Types::CreateLinkResponse#direction #direction} => String
738
+ # * {Types::CreateLinkResponse#flow_modules #flow_modules} => Array&lt;Types::ModuleConfiguration&gt;
739
+ # * {Types::CreateLinkResponse#pending_flow_modules #pending_flow_modules} => Array&lt;Types::ModuleConfiguration&gt;
740
+ # * {Types::CreateLinkResponse#attributes #attributes} => Types::LinkAttributes
741
+ # * {Types::CreateLinkResponse#link_id #link_id} => String
742
+ # * {Types::CreateLinkResponse#customer_provided_id #customer_provided_id} => String
743
+ #
744
+ #
745
+ # @example Example: Create a new link
746
+ #
747
+ # # Creates a new link between RTB applications
748
+ #
749
+ # resp = client.create_link({
750
+ # gateway_id: "rtb-gw-12345678",
751
+ # log_settings: {
752
+ # application_logs: {
753
+ # sampling: {
754
+ # error_log: 100.0,
755
+ # filter_log: 0.0,
756
+ # },
757
+ # },
758
+ # },
759
+ # peer_gateway_id: "rtb-gw-87654321",
760
+ # })
761
+ #
762
+ # resp.to_h outputs the following:
763
+ # {
764
+ # created_at: Time.parse("2024-01-15T10:30:00Z"),
765
+ # gateway_id: "rtb-gw-12345678",
766
+ # link_id: "link-87654321",
767
+ # peer_gateway_id: "rtb-gw-87654321",
768
+ # status: "PENDING_REQUEST",
769
+ # updated_at: Time.parse("2024-01-15T10:30:00Z"),
770
+ # }
771
+ #
772
+ # @example Request syntax with placeholder values
773
+ #
774
+ # resp = client.create_link({
775
+ # gateway_id: "GatewayId", # required
776
+ # peer_gateway_id: "GatewayId", # required
777
+ # attributes: {
778
+ # responder_error_masking: [
779
+ # {
780
+ # http_code: "ResponderErrorMaskingForHttpCodeHttpCodeString", # required
781
+ # action: "NO_BID", # required, accepts NO_BID, PASSTHROUGH
782
+ # logging_types: ["NONE"], # required, accepts NONE, METRIC, RESPONSE
783
+ # response_logging_percentage: 1.0,
784
+ # },
785
+ # ],
786
+ # customer_provided_id: "CustomerProvidedId",
787
+ # },
788
+ # http_responder_allowed: false,
789
+ # tags: {
790
+ # "TagKey" => "TagValue",
791
+ # },
792
+ # log_settings: { # required
793
+ # application_logs: { # required
794
+ # sampling: { # required
795
+ # error_log: 1.0, # required
796
+ # filter_log: 1.0, # required
797
+ # },
798
+ # },
799
+ # },
800
+ # })
801
+ #
802
+ # @example Response structure
803
+ #
804
+ # resp.gateway_id #=> String
805
+ # resp.peer_gateway_id #=> String
806
+ # resp.status #=> String, one of "PENDING_CREATION", "PENDING_REQUEST", "REQUESTED", "ACCEPTED", "ACTIVE", "REJECTED", "FAILED", "PENDING_DELETION", "DELETED", "PENDING_UPDATE", "PENDING_ISOLATION", "ISOLATED", "PENDING_RESTORATION"
807
+ # resp.created_at #=> Time
808
+ # resp.updated_at #=> Time
809
+ # resp.direction #=> String, one of "RESPONSE", "REQUEST"
810
+ # resp.flow_modules #=> Array
811
+ # resp.flow_modules[0].version #=> String
812
+ # resp.flow_modules[0].name #=> String
813
+ # resp.flow_modules[0].depends_on #=> Array
814
+ # resp.flow_modules[0].depends_on[0] #=> String
815
+ # resp.flow_modules[0].module_parameters.no_bid.reason #=> String
816
+ # resp.flow_modules[0].module_parameters.no_bid.reason_code #=> Integer
817
+ # resp.flow_modules[0].module_parameters.no_bid.pass_through_percentage #=> Float
818
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_type #=> String, one of "INCLUDE", "EXCLUDE"
819
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration #=> Array
820
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria #=> Array
821
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].path #=> String
822
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values #=> Array
823
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values[0] #=> String
824
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.action.no_bid.no_bid_reason_code #=> Integer
825
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.name #=> String
826
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.value #=> String
827
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.holdback_percentage #=> Float
828
+ # resp.pending_flow_modules #=> Array
829
+ # resp.pending_flow_modules[0].version #=> String
830
+ # resp.pending_flow_modules[0].name #=> String
831
+ # resp.pending_flow_modules[0].depends_on #=> Array
832
+ # resp.pending_flow_modules[0].depends_on[0] #=> String
833
+ # resp.pending_flow_modules[0].module_parameters.no_bid.reason #=> String
834
+ # resp.pending_flow_modules[0].module_parameters.no_bid.reason_code #=> Integer
835
+ # resp.pending_flow_modules[0].module_parameters.no_bid.pass_through_percentage #=> Float
836
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_type #=> String, one of "INCLUDE", "EXCLUDE"
837
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration #=> Array
838
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria #=> Array
839
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].path #=> String
840
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values #=> Array
841
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values[0] #=> String
842
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.action.no_bid.no_bid_reason_code #=> Integer
843
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.name #=> String
844
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.value #=> String
845
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.holdback_percentage #=> Float
846
+ # resp.attributes.responder_error_masking #=> Array
847
+ # resp.attributes.responder_error_masking[0].http_code #=> String
848
+ # resp.attributes.responder_error_masking[0].action #=> String, one of "NO_BID", "PASSTHROUGH"
849
+ # resp.attributes.responder_error_masking[0].logging_types #=> Array
850
+ # resp.attributes.responder_error_masking[0].logging_types[0] #=> String, one of "NONE", "METRIC", "RESPONSE"
851
+ # resp.attributes.responder_error_masking[0].response_logging_percentage #=> Float
852
+ # resp.attributes.customer_provided_id #=> String
853
+ # resp.link_id #=> String
854
+ # resp.customer_provided_id #=> String
855
+ #
856
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/CreateLink AWS API Documentation
857
+ #
858
+ # @overload create_link(params = {})
859
+ # @param [Hash] params ({})
860
+ def create_link(params = {}, options = {})
861
+ req = build_request(:create_link, params)
862
+ req.send_request(options)
863
+ end
864
+
865
+ # Creates an outbound external link.
866
+ #
867
+ # @option params [required, String] :client_token
868
+ # The unique client token.
869
+ #
870
+ # **A suitable default value is auto-generated.** You should normally
871
+ # not need to pass this option.**
872
+ #
873
+ # @option params [required, String] :gateway_id
874
+ # The unique identifier of the gateway.
875
+ #
876
+ # @option params [required, String] :public_endpoint
877
+ # The public endpoint of the link.
878
+ #
879
+ # @option params [Hash<String,String>] :tags
880
+ # A map of the key-value pairs of the tag or tags to assign to the
881
+ # resource.
882
+ #
883
+ # @return [Types::CreateOutboundExternalLinkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
884
+ #
885
+ # * {Types::CreateOutboundExternalLinkResponse#gateway_id #gateway_id} => String
886
+ # * {Types::CreateOutboundExternalLinkResponse#link_id #link_id} => String
887
+ # * {Types::CreateOutboundExternalLinkResponse#status #status} => String
888
+ #
889
+ #
890
+ # @example Example: Create an outbound external link
891
+ #
892
+ # # Create an outbound external link for a requester gateway to connect to external public responder endpoints
893
+ #
894
+ # resp = client.create_outbound_external_link({
895
+ # client_token: "12345678-1234-1234-1234-123456789012",
896
+ # gateway_id: "rtb-gw-12345678",
897
+ # public_endpoint: "https://external-responder.example.com",
898
+ # })
899
+ #
900
+ # resp.to_h outputs the following:
901
+ # {
902
+ # gateway_id: "rtb-gw-12345678",
903
+ # link_id: "link-87654321",
904
+ # status: "ACTIVE",
905
+ # }
906
+ #
907
+ # @example Request syntax with placeholder values
908
+ #
909
+ # resp = client.create_outbound_external_link({
910
+ # client_token: "String", # required
911
+ # gateway_id: "GatewayId", # required
912
+ # public_endpoint: "URL", # required
913
+ # tags: {
914
+ # "TagKey" => "TagValue",
915
+ # },
916
+ # })
917
+ #
918
+ # @example Response structure
919
+ #
920
+ # resp.gateway_id #=> String
921
+ # resp.link_id #=> String
922
+ # resp.status #=> String, one of "PENDING_CREATION", "PENDING_REQUEST", "REQUESTED", "ACCEPTED", "ACTIVE", "REJECTED", "FAILED", "PENDING_DELETION", "DELETED", "PENDING_UPDATE", "PENDING_ISOLATION", "ISOLATED", "PENDING_RESTORATION"
923
+ #
924
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/CreateOutboundExternalLink AWS API Documentation
925
+ #
926
+ # @overload create_outbound_external_link(params = {})
927
+ # @param [Hash] params ({})
928
+ def create_outbound_external_link(params = {}, options = {})
929
+ req = build_request(:create_outbound_external_link, params)
930
+ req.send_request(options)
931
+ end
932
+
933
+ # Creates a requester gateway.
934
+ #
935
+ # @option params [required, String] :vpc_id
936
+ # The unique identifier of the Virtual Private Cloud (VPC).
937
+ #
938
+ # @option params [required, Array<String>] :subnet_ids
939
+ # The unique identifiers of the subnets.
940
+ #
941
+ # @option params [required, Array<String>] :security_group_ids
942
+ # The unique identifiers of the security groups.
943
+ #
944
+ # @option params [required, String] :client_token
945
+ # The unique client token.
946
+ #
947
+ # **A suitable default value is auto-generated.** You should normally
948
+ # not need to pass this option.**
949
+ #
950
+ # @option params [String] :description
951
+ # An optional description for the requester gateway.
952
+ #
953
+ # @option params [Hash<String,String>] :tags
954
+ # A map of the key-value pairs of the tag or tags to assign to the
955
+ # resource.
956
+ #
957
+ # @return [Types::CreateRequesterGatewayResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
958
+ #
959
+ # * {Types::CreateRequesterGatewayResponse#gateway_id #gateway_id} => String
960
+ # * {Types::CreateRequesterGatewayResponse#domain_name #domain_name} => String
961
+ # * {Types::CreateRequesterGatewayResponse#status #status} => String
962
+ #
963
+ #
964
+ # @example Example: Create a requester gateway
965
+ #
966
+ # # Create requester gateway
967
+ #
968
+ # resp = client.create_requester_gateway({
969
+ # client_token: "12345678-1234-1234-1234-123456789012",
970
+ # description: "My requester gateway",
971
+ # security_group_ids: [
972
+ # "sg-12345678",
973
+ # ],
974
+ # subnet_ids: [
975
+ # "subnet-12345678",
976
+ # "subnet-87654321",
977
+ # ],
978
+ # vpc_id: "vpc-12345678",
979
+ # })
980
+ #
981
+ # resp.to_h outputs the following:
982
+ # {
983
+ # domain_name: "rtb-gw-12345678.example.com",
984
+ # gateway_id: "rtb-gw-12345678",
985
+ # status: "ACTIVE",
986
+ # }
987
+ #
988
+ # @example Request syntax with placeholder values
989
+ #
990
+ # resp = client.create_requester_gateway({
991
+ # vpc_id: "VpcId", # required
992
+ # subnet_ids: ["SubnetId"], # required
993
+ # security_group_ids: ["SecurityGroupId"], # required
994
+ # client_token: "String", # required
995
+ # description: "CreateRequesterGatewayRequestDescriptionString",
996
+ # tags: {
997
+ # "TagKey" => "TagValue",
998
+ # },
999
+ # })
1000
+ #
1001
+ # @example Response structure
1002
+ #
1003
+ # resp.gateway_id #=> String
1004
+ # resp.domain_name #=> String
1005
+ # resp.status #=> String, one of "PENDING_CREATION", "ACTIVE", "PENDING_DELETION", "DELETED", "ERROR", "PENDING_UPDATE", "ISOLATED", "PENDING_ISOLATION", "PENDING_RESTORATION"
1006
+ #
1007
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/CreateRequesterGateway AWS API Documentation
1008
+ #
1009
+ # @overload create_requester_gateway(params = {})
1010
+ # @param [Hash] params ({})
1011
+ def create_requester_gateway(params = {}, options = {})
1012
+ req = build_request(:create_requester_gateway, params)
1013
+ req.send_request(options)
1014
+ end
1015
+
1016
+ # Creates a responder gateway.
1017
+ #
1018
+ # @option params [required, String] :vpc_id
1019
+ # The unique identifier of the Virtual Private Cloud (VPC).
1020
+ #
1021
+ # @option params [required, Array<String>] :subnet_ids
1022
+ # The unique identifiers of the subnets.
1023
+ #
1024
+ # @option params [required, Array<String>] :security_group_ids
1025
+ # The unique identifiers of the security groups.
1026
+ #
1027
+ # @option params [String] :domain_name
1028
+ # The domain name for the responder gateway.
1029
+ #
1030
+ # @option params [required, Integer] :port
1031
+ # The networking port to use.
1032
+ #
1033
+ # @option params [required, String] :protocol
1034
+ # The networking protocol to use.
1035
+ #
1036
+ # @option params [Types::TrustStoreConfiguration] :trust_store_configuration
1037
+ # The configuration of the trust store.
1038
+ #
1039
+ # @option params [Types::ManagedEndpointConfiguration] :managed_endpoint_configuration
1040
+ # The configuration for the managed endpoint.
1041
+ #
1042
+ # @option params [required, String] :client_token
1043
+ # The unique client token.
1044
+ #
1045
+ # **A suitable default value is auto-generated.** You should normally
1046
+ # not need to pass this option.**
1047
+ #
1048
+ # @option params [String] :description
1049
+ # An optional description for the responder gateway.
1050
+ #
1051
+ # @option params [Hash<String,String>] :tags
1052
+ # A map of the key-value pairs of the tag or tags to assign to the
1053
+ # resource.
1054
+ #
1055
+ # @return [Types::CreateResponderGatewayResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1056
+ #
1057
+ # * {Types::CreateResponderGatewayResponse#gateway_id #gateway_id} => String
1058
+ # * {Types::CreateResponderGatewayResponse#status #status} => String
1059
+ #
1060
+ #
1061
+ # @example Example: Create a responder gateway
1062
+ #
1063
+ # # Create responder gateway
1064
+ #
1065
+ # resp = client.create_responder_gateway({
1066
+ # client_token: "12345678-1234-1234-1234-123456789012",
1067
+ # description: "My responder gateway",
1068
+ # port: 443,
1069
+ # protocol: "HTTPS",
1070
+ # security_group_ids: [
1071
+ # "sg-12345678",
1072
+ # ],
1073
+ # subnet_ids: [
1074
+ # "subnet-12345678",
1075
+ # "subnet-87654321",
1076
+ # ],
1077
+ # vpc_id: "vpc-12345678",
1078
+ # })
1079
+ #
1080
+ # resp.to_h outputs the following:
1081
+ # {
1082
+ # gateway_id: "rtb-gw-12345678",
1083
+ # status: "ACTIVE",
1084
+ # }
1085
+ #
1086
+ # @example Request syntax with placeholder values
1087
+ #
1088
+ # resp = client.create_responder_gateway({
1089
+ # vpc_id: "VpcId", # required
1090
+ # subnet_ids: ["SubnetId"], # required
1091
+ # security_group_ids: ["SecurityGroupId"], # required
1092
+ # domain_name: "DomainName",
1093
+ # port: 1, # required
1094
+ # protocol: "HTTP", # required, accepts HTTP, HTTPS
1095
+ # trust_store_configuration: {
1096
+ # certificate_authority_certificates: ["Base64EncodedCertificateChain"], # required
1097
+ # },
1098
+ # managed_endpoint_configuration: {
1099
+ # auto_scaling_groups: {
1100
+ # auto_scaling_group_names: ["AutoScalingGroupName"], # required
1101
+ # role_arn: "String", # required
1102
+ # },
1103
+ # eks_endpoints: {
1104
+ # endpoints_resource_name: "KubernetesEndpointsResourceName", # required
1105
+ # endpoints_resource_namespace: "KubernetesNamespace", # required
1106
+ # cluster_api_server_endpoint_uri: "URI", # required
1107
+ # cluster_api_server_ca_certificate_chain: "Base64EncodedCertificateChain", # required
1108
+ # cluster_name: "KubernetesClusterName", # required
1109
+ # role_arn: "String", # required
1110
+ # },
1111
+ # },
1112
+ # client_token: "String", # required
1113
+ # description: "CreateResponderGatewayRequestDescriptionString",
1114
+ # tags: {
1115
+ # "TagKey" => "TagValue",
1116
+ # },
1117
+ # })
1118
+ #
1119
+ # @example Response structure
1120
+ #
1121
+ # resp.gateway_id #=> String
1122
+ # resp.status #=> String, one of "PENDING_CREATION", "ACTIVE", "PENDING_DELETION", "DELETED", "ERROR", "PENDING_UPDATE", "ISOLATED", "PENDING_ISOLATION", "PENDING_RESTORATION"
1123
+ #
1124
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/CreateResponderGateway AWS API Documentation
1125
+ #
1126
+ # @overload create_responder_gateway(params = {})
1127
+ # @param [Hash] params ({})
1128
+ def create_responder_gateway(params = {}, options = {})
1129
+ req = build_request(:create_responder_gateway, params)
1130
+ req.send_request(options)
1131
+ end
1132
+
1133
+ # Deletes an inbound external link.
1134
+ #
1135
+ # @option params [required, String] :gateway_id
1136
+ # The unique identifier of the gateway.
1137
+ #
1138
+ # @option params [required, String] :link_id
1139
+ # The unique identifier of the link.
1140
+ #
1141
+ # @return [Types::DeleteInboundExternalLinkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1142
+ #
1143
+ # * {Types::DeleteInboundExternalLinkResponse#link_id #link_id} => String
1144
+ # * {Types::DeleteInboundExternalLinkResponse#status #status} => String
1145
+ #
1146
+ #
1147
+ # @example Example: Delete an inbound external link
1148
+ #
1149
+ # # Delete an inbound external link
1150
+ #
1151
+ # resp = client.delete_inbound_external_link({
1152
+ # gateway_id: "rtb-gw-12345678",
1153
+ # link_id: "link-87654321",
1154
+ # })
1155
+ #
1156
+ # resp.to_h outputs the following:
1157
+ # {
1158
+ # link_id: "link-87654321",
1159
+ # status: "DELETED",
1160
+ # }
1161
+ #
1162
+ # @example Request syntax with placeholder values
1163
+ #
1164
+ # resp = client.delete_inbound_external_link({
1165
+ # gateway_id: "GatewayId", # required
1166
+ # link_id: "LinkId", # required
1167
+ # })
1168
+ #
1169
+ # @example Response structure
1170
+ #
1171
+ # resp.link_id #=> String
1172
+ # resp.status #=> String, one of "PENDING_CREATION", "PENDING_REQUEST", "REQUESTED", "ACCEPTED", "ACTIVE", "REJECTED", "FAILED", "PENDING_DELETION", "DELETED", "PENDING_UPDATE", "PENDING_ISOLATION", "ISOLATED", "PENDING_RESTORATION"
1173
+ #
1174
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/DeleteInboundExternalLink AWS API Documentation
1175
+ #
1176
+ # @overload delete_inbound_external_link(params = {})
1177
+ # @param [Hash] params ({})
1178
+ def delete_inbound_external_link(params = {}, options = {})
1179
+ req = build_request(:delete_inbound_external_link, params)
1180
+ req.send_request(options)
1181
+ end
1182
+
1183
+ # Deletes a link between RTB applications.
1184
+ #
1185
+ # Permanently removes the connection between RTB applications. This
1186
+ # action cannot be undone.
1187
+ #
1188
+ # @option params [required, String] :gateway_id
1189
+ # The unique identifier of the gateway.
1190
+ #
1191
+ # @option params [required, String] :link_id
1192
+ # The unique identifier of the link.
1193
+ #
1194
+ # @return [Types::DeleteLinkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1195
+ #
1196
+ # * {Types::DeleteLinkResponse#link_id #link_id} => String
1197
+ # * {Types::DeleteLinkResponse#status #status} => String
1198
+ #
1199
+ #
1200
+ # @example Example: Delete a link
1201
+ #
1202
+ # # Deletes an existing link
1203
+ #
1204
+ # resp = client.delete_link({
1205
+ # gateway_id: "rtb-gw-12345678",
1206
+ # link_id: "link-87654321",
1207
+ # })
1208
+ #
1209
+ # resp.to_h outputs the following:
1210
+ # {
1211
+ # link_id: "link-87654321",
1212
+ # status: "PENDING_DELETION",
1213
+ # }
1214
+ #
1215
+ # @example Request syntax with placeholder values
1216
+ #
1217
+ # resp = client.delete_link({
1218
+ # gateway_id: "GatewayId", # required
1219
+ # link_id: "LinkId", # required
1220
+ # })
1221
+ #
1222
+ # @example Response structure
1223
+ #
1224
+ # resp.link_id #=> String
1225
+ # resp.status #=> String, one of "PENDING_CREATION", "PENDING_REQUEST", "REQUESTED", "ACCEPTED", "ACTIVE", "REJECTED", "FAILED", "PENDING_DELETION", "DELETED", "PENDING_UPDATE", "PENDING_ISOLATION", "ISOLATED", "PENDING_RESTORATION"
1226
+ #
1227
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/DeleteLink AWS API Documentation
1228
+ #
1229
+ # @overload delete_link(params = {})
1230
+ # @param [Hash] params ({})
1231
+ def delete_link(params = {}, options = {})
1232
+ req = build_request(:delete_link, params)
1233
+ req.send_request(options)
1234
+ end
1235
+
1236
+ # Deletes an outbound external link.
1237
+ #
1238
+ # @option params [required, String] :gateway_id
1239
+ # The unique identifier of the gateway.
1240
+ #
1241
+ # @option params [required, String] :link_id
1242
+ # The unique identifier of the link.
1243
+ #
1244
+ # @return [Types::DeleteOutboundExternalLinkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1245
+ #
1246
+ # * {Types::DeleteOutboundExternalLinkResponse#link_id #link_id} => String
1247
+ # * {Types::DeleteOutboundExternalLinkResponse#status #status} => String
1248
+ #
1249
+ #
1250
+ # @example Example: Delete an outbound external link
1251
+ #
1252
+ # # Delete an outbound external link
1253
+ #
1254
+ # resp = client.delete_outbound_external_link({
1255
+ # gateway_id: "rtb-gw-12345678",
1256
+ # link_id: "link-87654321",
1257
+ # })
1258
+ #
1259
+ # resp.to_h outputs the following:
1260
+ # {
1261
+ # link_id: "link-87654321",
1262
+ # status: "DELETED",
1263
+ # }
1264
+ #
1265
+ # @example Request syntax with placeholder values
1266
+ #
1267
+ # resp = client.delete_outbound_external_link({
1268
+ # gateway_id: "GatewayId", # required
1269
+ # link_id: "LinkId", # required
1270
+ # })
1271
+ #
1272
+ # @example Response structure
1273
+ #
1274
+ # resp.link_id #=> String
1275
+ # resp.status #=> String, one of "PENDING_CREATION", "PENDING_REQUEST", "REQUESTED", "ACCEPTED", "ACTIVE", "REJECTED", "FAILED", "PENDING_DELETION", "DELETED", "PENDING_UPDATE", "PENDING_ISOLATION", "ISOLATED", "PENDING_RESTORATION"
1276
+ #
1277
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/DeleteOutboundExternalLink AWS API Documentation
1278
+ #
1279
+ # @overload delete_outbound_external_link(params = {})
1280
+ # @param [Hash] params ({})
1281
+ def delete_outbound_external_link(params = {}, options = {})
1282
+ req = build_request(:delete_outbound_external_link, params)
1283
+ req.send_request(options)
1284
+ end
1285
+
1286
+ # Deletes a requester gateway.
1287
+ #
1288
+ # @option params [required, String] :gateway_id
1289
+ # The unique identifier of the gateway.
1290
+ #
1291
+ # @return [Types::DeleteRequesterGatewayResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1292
+ #
1293
+ # * {Types::DeleteRequesterGatewayResponse#gateway_id #gateway_id} => String
1294
+ # * {Types::DeleteRequesterGatewayResponse#status #status} => String
1295
+ #
1296
+ #
1297
+ # @example Example: Delete a requester gateway
1298
+ #
1299
+ # # Delete requester gateway
1300
+ #
1301
+ # resp = client.delete_requester_gateway({
1302
+ # gateway_id: "rtb-gw-12345678",
1303
+ # })
1304
+ #
1305
+ # resp.to_h outputs the following:
1306
+ # {
1307
+ # gateway_id: "rtb-gw-12345678",
1308
+ # status: "PENDING_DELETION",
1309
+ # }
1310
+ #
1311
+ # @example Request syntax with placeholder values
1312
+ #
1313
+ # resp = client.delete_requester_gateway({
1314
+ # gateway_id: "GatewayId", # required
1315
+ # })
1316
+ #
1317
+ # @example Response structure
1318
+ #
1319
+ # resp.gateway_id #=> String
1320
+ # resp.status #=> String, one of "PENDING_CREATION", "ACTIVE", "PENDING_DELETION", "DELETED", "ERROR", "PENDING_UPDATE", "ISOLATED", "PENDING_ISOLATION", "PENDING_RESTORATION"
1321
+ #
1322
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/DeleteRequesterGateway AWS API Documentation
1323
+ #
1324
+ # @overload delete_requester_gateway(params = {})
1325
+ # @param [Hash] params ({})
1326
+ def delete_requester_gateway(params = {}, options = {})
1327
+ req = build_request(:delete_requester_gateway, params)
1328
+ req.send_request(options)
1329
+ end
1330
+
1331
+ # Deletes a responder gateway.
1332
+ #
1333
+ # @option params [required, String] :gateway_id
1334
+ # The unique identifier of the gateway.
1335
+ #
1336
+ # @return [Types::DeleteResponderGatewayResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1337
+ #
1338
+ # * {Types::DeleteResponderGatewayResponse#gateway_id #gateway_id} => String
1339
+ # * {Types::DeleteResponderGatewayResponse#status #status} => String
1340
+ #
1341
+ #
1342
+ # @example Example: Delete a responder gateway
1343
+ #
1344
+ # # Delete responder gateway
1345
+ #
1346
+ # resp = client.delete_responder_gateway({
1347
+ # gateway_id: "rtb-gw-12345678",
1348
+ # })
1349
+ #
1350
+ # resp.to_h outputs the following:
1351
+ # {
1352
+ # gateway_id: "rtb-gw-12345678",
1353
+ # status: "PENDING_DELETION",
1354
+ # }
1355
+ #
1356
+ # @example Request syntax with placeholder values
1357
+ #
1358
+ # resp = client.delete_responder_gateway({
1359
+ # gateway_id: "GatewayId", # required
1360
+ # })
1361
+ #
1362
+ # @example Response structure
1363
+ #
1364
+ # resp.gateway_id #=> String
1365
+ # resp.status #=> String, one of "PENDING_CREATION", "ACTIVE", "PENDING_DELETION", "DELETED", "ERROR", "PENDING_UPDATE", "ISOLATED", "PENDING_ISOLATION", "PENDING_RESTORATION"
1366
+ #
1367
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/DeleteResponderGateway AWS API Documentation
1368
+ #
1369
+ # @overload delete_responder_gateway(params = {})
1370
+ # @param [Hash] params ({})
1371
+ def delete_responder_gateway(params = {}, options = {})
1372
+ req = build_request(:delete_responder_gateway, params)
1373
+ req.send_request(options)
1374
+ end
1375
+
1376
+ # Retrieves information about an inbound external link.
1377
+ #
1378
+ # @option params [required, String] :gateway_id
1379
+ # The unique identifier of the gateway.
1380
+ #
1381
+ # @option params [required, String] :link_id
1382
+ # The unique identifier of the link.
1383
+ #
1384
+ # @return [Types::GetInboundExternalLinkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1385
+ #
1386
+ # * {Types::GetInboundExternalLinkResponse#gateway_id #gateway_id} => String
1387
+ # * {Types::GetInboundExternalLinkResponse#link_id #link_id} => String
1388
+ # * {Types::GetInboundExternalLinkResponse#status #status} => String
1389
+ # * {Types::GetInboundExternalLinkResponse#domain_name #domain_name} => String
1390
+ # * {Types::GetInboundExternalLinkResponse#flow_modules #flow_modules} => Array&lt;Types::ModuleConfiguration&gt;
1391
+ # * {Types::GetInboundExternalLinkResponse#pending_flow_modules #pending_flow_modules} => Array&lt;Types::ModuleConfiguration&gt;
1392
+ # * {Types::GetInboundExternalLinkResponse#attributes #attributes} => Types::LinkAttributes
1393
+ # * {Types::GetInboundExternalLinkResponse#created_at #created_at} => Time
1394
+ # * {Types::GetInboundExternalLinkResponse#updated_at #updated_at} => Time
1395
+ # * {Types::GetInboundExternalLinkResponse#tags #tags} => Hash&lt;String,String&gt;
1396
+ #
1397
+ #
1398
+ # @example Example: Get inbound external link details
1399
+ #
1400
+ # # Get details of an inbound external link
1401
+ #
1402
+ # resp = client.get_inbound_external_link({
1403
+ # gateway_id: "rtb-gw-12345678",
1404
+ # link_id: "link-87654321",
1405
+ # })
1406
+ #
1407
+ # resp.to_h outputs the following:
1408
+ # {
1409
+ # created_at: Time.parse("2024-01-15T10:30:00Z"),
1410
+ # domain_name: "rtb-gw-12345678.example.com",
1411
+ # gateway_id: "rtb-gw-12345678",
1412
+ # link_id: "link-87654321",
1413
+ # status: "ACTIVE",
1414
+ # updated_at: Time.parse("2024-01-15T10:35:00Z"),
1415
+ # }
1416
+ #
1417
+ # @example Request syntax with placeholder values
1418
+ #
1419
+ # resp = client.get_inbound_external_link({
1420
+ # gateway_id: "GatewayId", # required
1421
+ # link_id: "LinkId", # required
1422
+ # })
1423
+ #
1424
+ # @example Response structure
1425
+ #
1426
+ # resp.gateway_id #=> String
1427
+ # resp.link_id #=> String
1428
+ # resp.status #=> String, one of "PENDING_CREATION", "PENDING_REQUEST", "REQUESTED", "ACCEPTED", "ACTIVE", "REJECTED", "FAILED", "PENDING_DELETION", "DELETED", "PENDING_UPDATE", "PENDING_ISOLATION", "ISOLATED", "PENDING_RESTORATION"
1429
+ # resp.domain_name #=> String
1430
+ # resp.flow_modules #=> Array
1431
+ # resp.flow_modules[0].version #=> String
1432
+ # resp.flow_modules[0].name #=> String
1433
+ # resp.flow_modules[0].depends_on #=> Array
1434
+ # resp.flow_modules[0].depends_on[0] #=> String
1435
+ # resp.flow_modules[0].module_parameters.no_bid.reason #=> String
1436
+ # resp.flow_modules[0].module_parameters.no_bid.reason_code #=> Integer
1437
+ # resp.flow_modules[0].module_parameters.no_bid.pass_through_percentage #=> Float
1438
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_type #=> String, one of "INCLUDE", "EXCLUDE"
1439
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration #=> Array
1440
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria #=> Array
1441
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].path #=> String
1442
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values #=> Array
1443
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values[0] #=> String
1444
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.action.no_bid.no_bid_reason_code #=> Integer
1445
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.name #=> String
1446
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.value #=> String
1447
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.holdback_percentage #=> Float
1448
+ # resp.pending_flow_modules #=> Array
1449
+ # resp.pending_flow_modules[0].version #=> String
1450
+ # resp.pending_flow_modules[0].name #=> String
1451
+ # resp.pending_flow_modules[0].depends_on #=> Array
1452
+ # resp.pending_flow_modules[0].depends_on[0] #=> String
1453
+ # resp.pending_flow_modules[0].module_parameters.no_bid.reason #=> String
1454
+ # resp.pending_flow_modules[0].module_parameters.no_bid.reason_code #=> Integer
1455
+ # resp.pending_flow_modules[0].module_parameters.no_bid.pass_through_percentage #=> Float
1456
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_type #=> String, one of "INCLUDE", "EXCLUDE"
1457
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration #=> Array
1458
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria #=> Array
1459
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].path #=> String
1460
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values #=> Array
1461
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values[0] #=> String
1462
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.action.no_bid.no_bid_reason_code #=> Integer
1463
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.name #=> String
1464
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.value #=> String
1465
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.holdback_percentage #=> Float
1466
+ # resp.attributes.responder_error_masking #=> Array
1467
+ # resp.attributes.responder_error_masking[0].http_code #=> String
1468
+ # resp.attributes.responder_error_masking[0].action #=> String, one of "NO_BID", "PASSTHROUGH"
1469
+ # resp.attributes.responder_error_masking[0].logging_types #=> Array
1470
+ # resp.attributes.responder_error_masking[0].logging_types[0] #=> String, one of "NONE", "METRIC", "RESPONSE"
1471
+ # resp.attributes.responder_error_masking[0].response_logging_percentage #=> Float
1472
+ # resp.attributes.customer_provided_id #=> String
1473
+ # resp.created_at #=> Time
1474
+ # resp.updated_at #=> Time
1475
+ # resp.tags #=> Hash
1476
+ # resp.tags["TagKey"] #=> String
1477
+ #
1478
+ #
1479
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1480
+ #
1481
+ # * inbound_external_link_active
1482
+ #
1483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/GetInboundExternalLink AWS API Documentation
1484
+ #
1485
+ # @overload get_inbound_external_link(params = {})
1486
+ # @param [Hash] params ({})
1487
+ def get_inbound_external_link(params = {}, options = {})
1488
+ req = build_request(:get_inbound_external_link, params)
1489
+ req.send_request(options)
1490
+ end
1491
+
1492
+ # Retrieves information about a link between RTB applications.
1493
+ #
1494
+ # Returns detailed information about the link configuration, status, and
1495
+ # associated RTB applications.
1496
+ #
1497
+ # @option params [required, String] :gateway_id
1498
+ # The unique identifier of the gateway.
1499
+ #
1500
+ # @option params [required, String] :link_id
1501
+ # The unique identifier of the link.
1502
+ #
1503
+ # @return [Types::GetLinkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1504
+ #
1505
+ # * {Types::GetLinkResponse#gateway_id #gateway_id} => String
1506
+ # * {Types::GetLinkResponse#peer_gateway_id #peer_gateway_id} => String
1507
+ # * {Types::GetLinkResponse#status #status} => String
1508
+ # * {Types::GetLinkResponse#created_at #created_at} => Time
1509
+ # * {Types::GetLinkResponse#updated_at #updated_at} => Time
1510
+ # * {Types::GetLinkResponse#direction #direction} => String
1511
+ # * {Types::GetLinkResponse#flow_modules #flow_modules} => Array&lt;Types::ModuleConfiguration&gt;
1512
+ # * {Types::GetLinkResponse#pending_flow_modules #pending_flow_modules} => Array&lt;Types::ModuleConfiguration&gt;
1513
+ # * {Types::GetLinkResponse#attributes #attributes} => Types::LinkAttributes
1514
+ # * {Types::GetLinkResponse#link_id #link_id} => String
1515
+ # * {Types::GetLinkResponse#tags #tags} => Hash&lt;String,String&gt;
1516
+ # * {Types::GetLinkResponse#log_settings #log_settings} => Types::LinkLogSettings
1517
+ #
1518
+ #
1519
+ # @example Example: Get link details
1520
+ #
1521
+ # # Retrieves details of a specific link
1522
+ #
1523
+ # resp = client.get_link({
1524
+ # gateway_id: "rtb-gw-12345678",
1525
+ # link_id: "link-87654321",
1526
+ # })
1527
+ #
1528
+ # resp.to_h outputs the following:
1529
+ # {
1530
+ # created_at: Time.parse("2024-01-15T10:30:00Z"),
1531
+ # gateway_id: "rtb-gw-12345678",
1532
+ # link_id: "link-87654321",
1533
+ # peer_gateway_id: "rtb-gw-87654321",
1534
+ # status: "ACTIVE",
1535
+ # updated_at: Time.parse("2024-01-15T10:35:00Z"),
1536
+ # }
1537
+ #
1538
+ # @example Request syntax with placeholder values
1539
+ #
1540
+ # resp = client.get_link({
1541
+ # gateway_id: "GatewayId", # required
1542
+ # link_id: "LinkId", # required
1543
+ # })
1544
+ #
1545
+ # @example Response structure
1546
+ #
1547
+ # resp.gateway_id #=> String
1548
+ # resp.peer_gateway_id #=> String
1549
+ # resp.status #=> String, one of "PENDING_CREATION", "PENDING_REQUEST", "REQUESTED", "ACCEPTED", "ACTIVE", "REJECTED", "FAILED", "PENDING_DELETION", "DELETED", "PENDING_UPDATE", "PENDING_ISOLATION", "ISOLATED", "PENDING_RESTORATION"
1550
+ # resp.created_at #=> Time
1551
+ # resp.updated_at #=> Time
1552
+ # resp.direction #=> String, one of "RESPONSE", "REQUEST"
1553
+ # resp.flow_modules #=> Array
1554
+ # resp.flow_modules[0].version #=> String
1555
+ # resp.flow_modules[0].name #=> String
1556
+ # resp.flow_modules[0].depends_on #=> Array
1557
+ # resp.flow_modules[0].depends_on[0] #=> String
1558
+ # resp.flow_modules[0].module_parameters.no_bid.reason #=> String
1559
+ # resp.flow_modules[0].module_parameters.no_bid.reason_code #=> Integer
1560
+ # resp.flow_modules[0].module_parameters.no_bid.pass_through_percentage #=> Float
1561
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_type #=> String, one of "INCLUDE", "EXCLUDE"
1562
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration #=> Array
1563
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria #=> Array
1564
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].path #=> String
1565
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values #=> Array
1566
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values[0] #=> String
1567
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.action.no_bid.no_bid_reason_code #=> Integer
1568
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.name #=> String
1569
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.value #=> String
1570
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.holdback_percentage #=> Float
1571
+ # resp.pending_flow_modules #=> Array
1572
+ # resp.pending_flow_modules[0].version #=> String
1573
+ # resp.pending_flow_modules[0].name #=> String
1574
+ # resp.pending_flow_modules[0].depends_on #=> Array
1575
+ # resp.pending_flow_modules[0].depends_on[0] #=> String
1576
+ # resp.pending_flow_modules[0].module_parameters.no_bid.reason #=> String
1577
+ # resp.pending_flow_modules[0].module_parameters.no_bid.reason_code #=> Integer
1578
+ # resp.pending_flow_modules[0].module_parameters.no_bid.pass_through_percentage #=> Float
1579
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_type #=> String, one of "INCLUDE", "EXCLUDE"
1580
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration #=> Array
1581
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria #=> Array
1582
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].path #=> String
1583
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values #=> Array
1584
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values[0] #=> String
1585
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.action.no_bid.no_bid_reason_code #=> Integer
1586
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.name #=> String
1587
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.value #=> String
1588
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.holdback_percentage #=> Float
1589
+ # resp.attributes.responder_error_masking #=> Array
1590
+ # resp.attributes.responder_error_masking[0].http_code #=> String
1591
+ # resp.attributes.responder_error_masking[0].action #=> String, one of "NO_BID", "PASSTHROUGH"
1592
+ # resp.attributes.responder_error_masking[0].logging_types #=> Array
1593
+ # resp.attributes.responder_error_masking[0].logging_types[0] #=> String, one of "NONE", "METRIC", "RESPONSE"
1594
+ # resp.attributes.responder_error_masking[0].response_logging_percentage #=> Float
1595
+ # resp.attributes.customer_provided_id #=> String
1596
+ # resp.link_id #=> String
1597
+ # resp.tags #=> Hash
1598
+ # resp.tags["TagKey"] #=> String
1599
+ # resp.log_settings.application_logs.sampling.error_log #=> Float
1600
+ # resp.log_settings.application_logs.sampling.filter_log #=> Float
1601
+ #
1602
+ #
1603
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1604
+ #
1605
+ # * link_accepted
1606
+ # * link_active
1607
+ #
1608
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/GetLink AWS API Documentation
1609
+ #
1610
+ # @overload get_link(params = {})
1611
+ # @param [Hash] params ({})
1612
+ def get_link(params = {}, options = {})
1613
+ req = build_request(:get_link, params)
1614
+ req.send_request(options)
1615
+ end
1616
+
1617
+ # Retrieves information about an outbound external link.
1618
+ #
1619
+ # @option params [required, String] :gateway_id
1620
+ # The unique identifier of the gateway.
1621
+ #
1622
+ # @option params [required, String] :link_id
1623
+ # The unique identifier of the link.
1624
+ #
1625
+ # @return [Types::GetOutboundExternalLinkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1626
+ #
1627
+ # * {Types::GetOutboundExternalLinkResponse#gateway_id #gateway_id} => String
1628
+ # * {Types::GetOutboundExternalLinkResponse#link_id #link_id} => String
1629
+ # * {Types::GetOutboundExternalLinkResponse#status #status} => String
1630
+ # * {Types::GetOutboundExternalLinkResponse#public_endpoint #public_endpoint} => String
1631
+ # * {Types::GetOutboundExternalLinkResponse#created_at #created_at} => Time
1632
+ # * {Types::GetOutboundExternalLinkResponse#updated_at #updated_at} => Time
1633
+ # * {Types::GetOutboundExternalLinkResponse#tags #tags} => Hash&lt;String,String&gt;
1634
+ #
1635
+ #
1636
+ # @example Example: Get outbound external link details
1637
+ #
1638
+ # # Get details of a specific outbound external link
1639
+ #
1640
+ # resp = client.get_outbound_external_link({
1641
+ # gateway_id: "rtb-gw-12345678",
1642
+ # link_id: "link-87654321",
1643
+ # })
1644
+ #
1645
+ # resp.to_h outputs the following:
1646
+ # {
1647
+ # created_at: Time.parse("2024-01-15T10:30:00Z"),
1648
+ # gateway_id: "rtb-gw-12345678",
1649
+ # link_id: "link-87654321",
1650
+ # public_endpoint: "https://external-responder.example.com",
1651
+ # status: "ACTIVE",
1652
+ # updated_at: Time.parse("2024-01-15T10:35:00Z"),
1653
+ # }
1654
+ #
1655
+ # @example Request syntax with placeholder values
1656
+ #
1657
+ # resp = client.get_outbound_external_link({
1658
+ # gateway_id: "GatewayId", # required
1659
+ # link_id: "LinkId", # required
1660
+ # })
1661
+ #
1662
+ # @example Response structure
1663
+ #
1664
+ # resp.gateway_id #=> String
1665
+ # resp.link_id #=> String
1666
+ # resp.status #=> String, one of "PENDING_CREATION", "PENDING_REQUEST", "REQUESTED", "ACCEPTED", "ACTIVE", "REJECTED", "FAILED", "PENDING_DELETION", "DELETED", "PENDING_UPDATE", "PENDING_ISOLATION", "ISOLATED", "PENDING_RESTORATION"
1667
+ # resp.public_endpoint #=> String
1668
+ # resp.created_at #=> Time
1669
+ # resp.updated_at #=> Time
1670
+ # resp.tags #=> Hash
1671
+ # resp.tags["TagKey"] #=> String
1672
+ #
1673
+ #
1674
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1675
+ #
1676
+ # * outbound_external_link_active
1677
+ #
1678
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/GetOutboundExternalLink AWS API Documentation
1679
+ #
1680
+ # @overload get_outbound_external_link(params = {})
1681
+ # @param [Hash] params ({})
1682
+ def get_outbound_external_link(params = {}, options = {})
1683
+ req = build_request(:get_outbound_external_link, params)
1684
+ req.send_request(options)
1685
+ end
1686
+
1687
+ # Retrieves information about a requester gateway.
1688
+ #
1689
+ # @option params [required, String] :gateway_id
1690
+ # The unique identifier of the gateway.
1691
+ #
1692
+ # @return [Types::GetRequesterGatewayResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1693
+ #
1694
+ # * {Types::GetRequesterGatewayResponse#status #status} => String
1695
+ # * {Types::GetRequesterGatewayResponse#domain_name #domain_name} => String
1696
+ # * {Types::GetRequesterGatewayResponse#description #description} => String
1697
+ # * {Types::GetRequesterGatewayResponse#created_at #created_at} => Time
1698
+ # * {Types::GetRequesterGatewayResponse#updated_at #updated_at} => Time
1699
+ # * {Types::GetRequesterGatewayResponse#vpc_id #vpc_id} => String
1700
+ # * {Types::GetRequesterGatewayResponse#subnet_ids #subnet_ids} => Array&lt;String&gt;
1701
+ # * {Types::GetRequesterGatewayResponse#security_group_ids #security_group_ids} => Array&lt;String&gt;
1702
+ # * {Types::GetRequesterGatewayResponse#gateway_id #gateway_id} => String
1703
+ # * {Types::GetRequesterGatewayResponse#tags #tags} => Hash&lt;String,String&gt;
1704
+ # * {Types::GetRequesterGatewayResponse#active_links_count #active_links_count} => Integer
1705
+ # * {Types::GetRequesterGatewayResponse#total_links_count #total_links_count} => Integer
1706
+ #
1707
+ #
1708
+ # @example Example: Get requester gateway details
1709
+ #
1710
+ # # Get requester gateway
1711
+ #
1712
+ # resp = client.get_requester_gateway({
1713
+ # gateway_id: "rtb-gw-12345678",
1714
+ # })
1715
+ #
1716
+ # resp.to_h outputs the following:
1717
+ # {
1718
+ # active_links_count: 2,
1719
+ # created_at: Time.parse("2024-01-15T10:30:00Z"),
1720
+ # description: "My requester gateway",
1721
+ # domain_name: "rtb-gw-12345678.example.com",
1722
+ # gateway_id: "rtb-gw-12345678",
1723
+ # security_group_ids: [
1724
+ # "sg-12345678",
1725
+ # ],
1726
+ # status: "ACTIVE",
1727
+ # subnet_ids: [
1728
+ # "subnet-12345678",
1729
+ # "subnet-87654321",
1730
+ # ],
1731
+ # total_links_count: 5,
1732
+ # updated_at: Time.parse("2024-01-15T10:35:00Z"),
1733
+ # vpc_id: "vpc-12345678",
1734
+ # }
1735
+ #
1736
+ # @example Request syntax with placeholder values
1737
+ #
1738
+ # resp = client.get_requester_gateway({
1739
+ # gateway_id: "GatewayId", # required
1740
+ # })
1741
+ #
1742
+ # @example Response structure
1743
+ #
1744
+ # resp.status #=> String, one of "PENDING_CREATION", "ACTIVE", "PENDING_DELETION", "DELETED", "ERROR", "PENDING_UPDATE", "ISOLATED", "PENDING_ISOLATION", "PENDING_RESTORATION"
1745
+ # resp.domain_name #=> String
1746
+ # resp.description #=> String
1747
+ # resp.created_at #=> Time
1748
+ # resp.updated_at #=> Time
1749
+ # resp.vpc_id #=> String
1750
+ # resp.subnet_ids #=> Array
1751
+ # resp.subnet_ids[0] #=> String
1752
+ # resp.security_group_ids #=> Array
1753
+ # resp.security_group_ids[0] #=> String
1754
+ # resp.gateway_id #=> String
1755
+ # resp.tags #=> Hash
1756
+ # resp.tags["TagKey"] #=> String
1757
+ # resp.active_links_count #=> Integer
1758
+ # resp.total_links_count #=> Integer
1759
+ #
1760
+ #
1761
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1762
+ #
1763
+ # * requester_gateway_active
1764
+ # * requester_gateway_deleted
1765
+ #
1766
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/GetRequesterGateway AWS API Documentation
1767
+ #
1768
+ # @overload get_requester_gateway(params = {})
1769
+ # @param [Hash] params ({})
1770
+ def get_requester_gateway(params = {}, options = {})
1771
+ req = build_request(:get_requester_gateway, params)
1772
+ req.send_request(options)
1773
+ end
1774
+
1775
+ # Retrieves information about a responder gateway.
1776
+ #
1777
+ # @option params [required, String] :gateway_id
1778
+ # The unique identifier of the gateway.
1779
+ #
1780
+ # @return [Types::GetResponderGatewayResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1781
+ #
1782
+ # * {Types::GetResponderGatewayResponse#vpc_id #vpc_id} => String
1783
+ # * {Types::GetResponderGatewayResponse#subnet_ids #subnet_ids} => Array&lt;String&gt;
1784
+ # * {Types::GetResponderGatewayResponse#security_group_ids #security_group_ids} => Array&lt;String&gt;
1785
+ # * {Types::GetResponderGatewayResponse#status #status} => String
1786
+ # * {Types::GetResponderGatewayResponse#description #description} => String
1787
+ # * {Types::GetResponderGatewayResponse#created_at #created_at} => Time
1788
+ # * {Types::GetResponderGatewayResponse#updated_at #updated_at} => Time
1789
+ # * {Types::GetResponderGatewayResponse#domain_name #domain_name} => String
1790
+ # * {Types::GetResponderGatewayResponse#port #port} => Integer
1791
+ # * {Types::GetResponderGatewayResponse#protocol #protocol} => String
1792
+ # * {Types::GetResponderGatewayResponse#trust_store_configuration #trust_store_configuration} => Types::TrustStoreConfiguration
1793
+ # * {Types::GetResponderGatewayResponse#managed_endpoint_configuration #managed_endpoint_configuration} => Types::ManagedEndpointConfiguration
1794
+ # * {Types::GetResponderGatewayResponse#gateway_id #gateway_id} => String
1795
+ # * {Types::GetResponderGatewayResponse#tags #tags} => Hash&lt;String,String&gt;
1796
+ # * {Types::GetResponderGatewayResponse#active_links_count #active_links_count} => Integer
1797
+ # * {Types::GetResponderGatewayResponse#total_links_count #total_links_count} => Integer
1798
+ # * {Types::GetResponderGatewayResponse#inbound_links_count #inbound_links_count} => Integer
1799
+ #
1800
+ #
1801
+ # @example Example: Get responder gateway details
1802
+ #
1803
+ # # Get responder gateway
1804
+ #
1805
+ # resp = client.get_responder_gateway({
1806
+ # gateway_id: "rtb-gw-12345678",
1807
+ # })
1808
+ #
1809
+ # resp.to_h outputs the following:
1810
+ # {
1811
+ # active_links_count: 2,
1812
+ # created_at: Time.parse("2024-01-15T10:30:00Z"),
1813
+ # description: "My responder gateway",
1814
+ # gateway_id: "rtb-gw-12345678",
1815
+ # inbound_links_count: 3,
1816
+ # port: 443,
1817
+ # protocol: "HTTPS",
1818
+ # security_group_ids: [
1819
+ # "sg-12345678",
1820
+ # ],
1821
+ # status: "ACTIVE",
1822
+ # subnet_ids: [
1823
+ # "subnet-12345678",
1824
+ # "subnet-87654321",
1825
+ # ],
1826
+ # total_links_count: 5,
1827
+ # updated_at: Time.parse("2024-01-15T10:35:00Z"),
1828
+ # vpc_id: "vpc-12345678",
1829
+ # }
1830
+ #
1831
+ # @example Request syntax with placeholder values
1832
+ #
1833
+ # resp = client.get_responder_gateway({
1834
+ # gateway_id: "GatewayId", # required
1835
+ # })
1836
+ #
1837
+ # @example Response structure
1838
+ #
1839
+ # resp.vpc_id #=> String
1840
+ # resp.subnet_ids #=> Array
1841
+ # resp.subnet_ids[0] #=> String
1842
+ # resp.security_group_ids #=> Array
1843
+ # resp.security_group_ids[0] #=> String
1844
+ # resp.status #=> String, one of "PENDING_CREATION", "ACTIVE", "PENDING_DELETION", "DELETED", "ERROR", "PENDING_UPDATE", "ISOLATED", "PENDING_ISOLATION", "PENDING_RESTORATION"
1845
+ # resp.description #=> String
1846
+ # resp.created_at #=> Time
1847
+ # resp.updated_at #=> Time
1848
+ # resp.domain_name #=> String
1849
+ # resp.port #=> Integer
1850
+ # resp.protocol #=> String, one of "HTTP", "HTTPS"
1851
+ # resp.trust_store_configuration.certificate_authority_certificates #=> Array
1852
+ # resp.trust_store_configuration.certificate_authority_certificates[0] #=> String
1853
+ # resp.managed_endpoint_configuration.auto_scaling_groups.auto_scaling_group_names #=> Array
1854
+ # resp.managed_endpoint_configuration.auto_scaling_groups.auto_scaling_group_names[0] #=> String
1855
+ # resp.managed_endpoint_configuration.auto_scaling_groups.role_arn #=> String
1856
+ # resp.managed_endpoint_configuration.eks_endpoints.endpoints_resource_name #=> String
1857
+ # resp.managed_endpoint_configuration.eks_endpoints.endpoints_resource_namespace #=> String
1858
+ # resp.managed_endpoint_configuration.eks_endpoints.cluster_api_server_endpoint_uri #=> String
1859
+ # resp.managed_endpoint_configuration.eks_endpoints.cluster_api_server_ca_certificate_chain #=> String
1860
+ # resp.managed_endpoint_configuration.eks_endpoints.cluster_name #=> String
1861
+ # resp.managed_endpoint_configuration.eks_endpoints.role_arn #=> String
1862
+ # resp.gateway_id #=> String
1863
+ # resp.tags #=> Hash
1864
+ # resp.tags["TagKey"] #=> String
1865
+ # resp.active_links_count #=> Integer
1866
+ # resp.total_links_count #=> Integer
1867
+ # resp.inbound_links_count #=> Integer
1868
+ #
1869
+ #
1870
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1871
+ #
1872
+ # * responder_gateway_active
1873
+ # * responder_gateway_deleted
1874
+ #
1875
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/GetResponderGateway AWS API Documentation
1876
+ #
1877
+ # @overload get_responder_gateway(params = {})
1878
+ # @param [Hash] params ({})
1879
+ def get_responder_gateway(params = {}, options = {})
1880
+ req = build_request(:get_responder_gateway, params)
1881
+ req.send_request(options)
1882
+ end
1883
+
1884
+ # Lists links associated with an RTB application.
1885
+ #
1886
+ # Returns a list of all links for the specified RTB application,
1887
+ # including their status and configuration details.
1888
+ #
1889
+ # @option params [required, String] :gateway_id
1890
+ # The unique identifier of the gateway.
1891
+ #
1892
+ # @option params [String] :next_token
1893
+ # If `nextToken` is returned, there are more results available. The
1894
+ # value of `nextToken` is a unique pagination token for each page. Make
1895
+ # the call again using the returned token to retrieve the next page.
1896
+ # Keep all other arguments unchanged. Each pagination token expires
1897
+ # after 24 hours. Using an expired pagination token will return an *HTTP
1898
+ # 400 InvalidToken error*.
1899
+ #
1900
+ # @option params [Integer] :max_results
1901
+ # The maximum number of results that are returned per call. You can use
1902
+ # `nextToken` to obtain further pages of results.
1903
+ #
1904
+ # This is only an upper limit. The actual number of results returned per
1905
+ # call might be fewer than the specified maximum.
1906
+ #
1907
+ # @return [Types::ListLinksResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1908
+ #
1909
+ # * {Types::ListLinksResponse#links #links} => Array&lt;Types::ListLinksResponseStructure&gt;
1910
+ # * {Types::ListLinksResponse#next_token #next_token} => String
1911
+ #
1912
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1913
+ #
1914
+ #
1915
+ # @example Example: List links for a gateway
1916
+ #
1917
+ # # Lists all links for the specified gateway
1918
+ #
1919
+ # resp = client.list_links({
1920
+ # gateway_id: "rtb-gw-12345678",
1921
+ # max_results: 10,
1922
+ # })
1923
+ #
1924
+ # resp.to_h outputs the following:
1925
+ # {
1926
+ # links: [
1927
+ # {
1928
+ # created_at: Time.parse("2024-01-15T10:30:00Z"),
1929
+ # gateway_id: "rtb-gw-12345678",
1930
+ # link_id: "link-87654321",
1931
+ # peer_gateway_id: "rtb-gw-87654321",
1932
+ # status: "ACTIVE",
1933
+ # updated_at: Time.parse("2024-01-15T10:35:00Z"),
1934
+ # },
1935
+ # ],
1936
+ # }
1937
+ #
1938
+ # @example Request syntax with placeholder values
1939
+ #
1940
+ # resp = client.list_links({
1941
+ # gateway_id: "GatewayId", # required
1942
+ # next_token: "String",
1943
+ # max_results: 1,
1944
+ # })
1945
+ #
1946
+ # @example Response structure
1947
+ #
1948
+ # resp.links #=> Array
1949
+ # resp.links[0].gateway_id #=> String
1950
+ # resp.links[0].peer_gateway_id #=> String
1951
+ # resp.links[0].status #=> String, one of "PENDING_CREATION", "PENDING_REQUEST", "REQUESTED", "ACCEPTED", "ACTIVE", "REJECTED", "FAILED", "PENDING_DELETION", "DELETED", "PENDING_UPDATE", "PENDING_ISOLATION", "ISOLATED", "PENDING_RESTORATION"
1952
+ # resp.links[0].created_at #=> Time
1953
+ # resp.links[0].updated_at #=> Time
1954
+ # resp.links[0].direction #=> String, one of "RESPONSE", "REQUEST"
1955
+ # resp.links[0].flow_modules #=> Array
1956
+ # resp.links[0].flow_modules[0].version #=> String
1957
+ # resp.links[0].flow_modules[0].name #=> String
1958
+ # resp.links[0].flow_modules[0].depends_on #=> Array
1959
+ # resp.links[0].flow_modules[0].depends_on[0] #=> String
1960
+ # resp.links[0].flow_modules[0].module_parameters.no_bid.reason #=> String
1961
+ # resp.links[0].flow_modules[0].module_parameters.no_bid.reason_code #=> Integer
1962
+ # resp.links[0].flow_modules[0].module_parameters.no_bid.pass_through_percentage #=> Float
1963
+ # resp.links[0].flow_modules[0].module_parameters.open_rtb_attribute.filter_type #=> String, one of "INCLUDE", "EXCLUDE"
1964
+ # resp.links[0].flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration #=> Array
1965
+ # resp.links[0].flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria #=> Array
1966
+ # resp.links[0].flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].path #=> String
1967
+ # resp.links[0].flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values #=> Array
1968
+ # resp.links[0].flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values[0] #=> String
1969
+ # resp.links[0].flow_modules[0].module_parameters.open_rtb_attribute.action.no_bid.no_bid_reason_code #=> Integer
1970
+ # resp.links[0].flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.name #=> String
1971
+ # resp.links[0].flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.value #=> String
1972
+ # resp.links[0].flow_modules[0].module_parameters.open_rtb_attribute.holdback_percentage #=> Float
1973
+ # resp.links[0].pending_flow_modules #=> Array
1974
+ # resp.links[0].pending_flow_modules[0].version #=> String
1975
+ # resp.links[0].pending_flow_modules[0].name #=> String
1976
+ # resp.links[0].pending_flow_modules[0].depends_on #=> Array
1977
+ # resp.links[0].pending_flow_modules[0].depends_on[0] #=> String
1978
+ # resp.links[0].pending_flow_modules[0].module_parameters.no_bid.reason #=> String
1979
+ # resp.links[0].pending_flow_modules[0].module_parameters.no_bid.reason_code #=> Integer
1980
+ # resp.links[0].pending_flow_modules[0].module_parameters.no_bid.pass_through_percentage #=> Float
1981
+ # resp.links[0].pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_type #=> String, one of "INCLUDE", "EXCLUDE"
1982
+ # resp.links[0].pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration #=> Array
1983
+ # resp.links[0].pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria #=> Array
1984
+ # resp.links[0].pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].path #=> String
1985
+ # resp.links[0].pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values #=> Array
1986
+ # resp.links[0].pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values[0] #=> String
1987
+ # resp.links[0].pending_flow_modules[0].module_parameters.open_rtb_attribute.action.no_bid.no_bid_reason_code #=> Integer
1988
+ # resp.links[0].pending_flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.name #=> String
1989
+ # resp.links[0].pending_flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.value #=> String
1990
+ # resp.links[0].pending_flow_modules[0].module_parameters.open_rtb_attribute.holdback_percentage #=> Float
1991
+ # resp.links[0].attributes.responder_error_masking #=> Array
1992
+ # resp.links[0].attributes.responder_error_masking[0].http_code #=> String
1993
+ # resp.links[0].attributes.responder_error_masking[0].action #=> String, one of "NO_BID", "PASSTHROUGH"
1994
+ # resp.links[0].attributes.responder_error_masking[0].logging_types #=> Array
1995
+ # resp.links[0].attributes.responder_error_masking[0].logging_types[0] #=> String, one of "NONE", "METRIC", "RESPONSE"
1996
+ # resp.links[0].attributes.responder_error_masking[0].response_logging_percentage #=> Float
1997
+ # resp.links[0].attributes.customer_provided_id #=> String
1998
+ # resp.links[0].link_id #=> String
1999
+ # resp.links[0].tags #=> Hash
2000
+ # resp.links[0].tags["TagKey"] #=> String
2001
+ # resp.next_token #=> String
2002
+ #
2003
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/ListLinks AWS API Documentation
2004
+ #
2005
+ # @overload list_links(params = {})
2006
+ # @param [Hash] params ({})
2007
+ def list_links(params = {}, options = {})
2008
+ req = build_request(:list_links, params)
2009
+ req.send_request(options)
2010
+ end
2011
+
2012
+ # Lists requester gateways.
2013
+ #
2014
+ # @option params [Integer] :max_results
2015
+ # The maximum number of results that are returned per call. You can use
2016
+ # `nextToken` to obtain further pages of results.
2017
+ #
2018
+ # This is only an upper limit. The actual number of results returned per
2019
+ # call might be fewer than the specified maximum.
2020
+ #
2021
+ # @option params [String] :next_token
2022
+ # If `nextToken` is returned, there are more results available. The
2023
+ # value of `nextToken` is a unique pagination token for each page. Make
2024
+ # the call again using the returned token to retrieve the next page.
2025
+ # Keep all other arguments unchanged. Each pagination token expires
2026
+ # after 24 hours. Using an expired pagination token will return an *HTTP
2027
+ # 400 InvalidToken error*.
2028
+ #
2029
+ # @return [Types::ListRequesterGatewaysResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2030
+ #
2031
+ # * {Types::ListRequesterGatewaysResponse#gateway_ids #gateway_ids} => Array&lt;String&gt;
2032
+ # * {Types::ListRequesterGatewaysResponse#next_token #next_token} => String
2033
+ #
2034
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2035
+ #
2036
+ #
2037
+ # @example Example: List requester gateways with default pagination
2038
+ #
2039
+ # # Lists requester gateways using default pagination settings
2040
+ #
2041
+ # resp = client.list_requester_gateways({
2042
+ # max_results: 10,
2043
+ # })
2044
+ #
2045
+ # resp.to_h outputs the following:
2046
+ # {
2047
+ # gateway_ids: [
2048
+ # "rtb-gw-12345",
2049
+ # "rtb-gw-67890",
2050
+ # ],
2051
+ # }
2052
+ #
2053
+ # @example Example: List requester gateways with pagination token
2054
+ #
2055
+ # # Lists requester gateways using a pagination token to get the next page
2056
+ #
2057
+ # resp = client.list_requester_gateways({
2058
+ # max_results: 5,
2059
+ # next_token: "eyJsYXN0RXZhbHVhdGVkS2V5Ijp7ImlkIjp7IlMiOiJydGJhcHAtcmVxLTEyMzQ1In19fQ==",
2060
+ # })
2061
+ #
2062
+ # resp.to_h outputs the following:
2063
+ # {
2064
+ # gateway_ids: [
2065
+ # "rtb-gw-12345",
2066
+ # "rtb-gw-09876",
2067
+ # ],
2068
+ # next_token: "eyJsYXN0RXZhbHVhdGVkS2V5Ijp7ImlkIjp7IlMiOiJydGJhcHAtcmVxLWZnaGlqIn19fQ==",
2069
+ # }
2070
+ #
2071
+ # @example Request syntax with placeholder values
2072
+ #
2073
+ # resp = client.list_requester_gateways({
2074
+ # max_results: 1,
2075
+ # next_token: "String",
2076
+ # })
2077
+ #
2078
+ # @example Response structure
2079
+ #
2080
+ # resp.gateway_ids #=> Array
2081
+ # resp.gateway_ids[0] #=> String
2082
+ # resp.next_token #=> String
2083
+ #
2084
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/ListRequesterGateways AWS API Documentation
2085
+ #
2086
+ # @overload list_requester_gateways(params = {})
2087
+ # @param [Hash] params ({})
2088
+ def list_requester_gateways(params = {}, options = {})
2089
+ req = build_request(:list_requester_gateways, params)
2090
+ req.send_request(options)
2091
+ end
2092
+
2093
+ # Lists reponder gateways.
2094
+ #
2095
+ # @option params [Integer] :max_results
2096
+ # The maximum number of results that are returned per call. You can use
2097
+ # `nextToken` to obtain further pages of results.
2098
+ #
2099
+ # This is only an upper limit. The actual number of results returned per
2100
+ # call might be fewer than the specified maximum.
2101
+ #
2102
+ # @option params [String] :next_token
2103
+ # If `nextToken` is returned, there are more results available. The
2104
+ # value of `nextToken` is a unique pagination token for each page. Make
2105
+ # the call again using the returned token to retrieve the next page.
2106
+ # Keep all other arguments unchanged. Each pagination token expires
2107
+ # after 24 hours. Using an expired pagination token will return an *HTTP
2108
+ # 400 InvalidToken error*.
2109
+ #
2110
+ # @return [Types::ListResponderGatewaysResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2111
+ #
2112
+ # * {Types::ListResponderGatewaysResponse#gateway_ids #gateway_ids} => Array&lt;String&gt;
2113
+ # * {Types::ListResponderGatewaysResponse#next_token #next_token} => String
2114
+ #
2115
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2116
+ #
2117
+ #
2118
+ # @example Example: List responder gateways with default pagination
2119
+ #
2120
+ # # Lists responder gateways using default pagination settings
2121
+ #
2122
+ # resp = client.list_responder_gateways({
2123
+ # max_results: 10,
2124
+ # })
2125
+ #
2126
+ # resp.to_h outputs the following:
2127
+ # {
2128
+ # gateway_ids: [
2129
+ # "rtb-gw-54321",
2130
+ # "rtb-gw-09876",
2131
+ # ],
2132
+ # }
2133
+ #
2134
+ # @example Example: List responder gateways with pagination token
2135
+ #
2136
+ # # Lists responder gateways using a pagination token to get the next page
2137
+ #
2138
+ # resp = client.list_responder_gateways({
2139
+ # max_results: 3,
2140
+ # next_token: "eyJsYXN0RXZhbHVhdGVkS2V5Ijp7ImlkIjp7IlMiOiJydGJhcHAtcmVzcC01NDMyMSJ9fX0=",
2141
+ # })
2142
+ #
2143
+ # resp.to_h outputs the following:
2144
+ # {
2145
+ # gateway_ids: [
2146
+ # "rtb-gw-12345",
2147
+ # "rtb-gw-09876",
2148
+ # ],
2149
+ # next_token: "eyJsYXN0RXZhbHVhdGVkS2V5Ijp7ImlkIjp7IlMiOiJydGJhcHAtcmVzcC1hYmMzNCJ9fX0=",
2150
+ # }
2151
+ #
2152
+ # @example Request syntax with placeholder values
2153
+ #
2154
+ # resp = client.list_responder_gateways({
2155
+ # max_results: 1,
2156
+ # next_token: "String",
2157
+ # })
2158
+ #
2159
+ # @example Response structure
2160
+ #
2161
+ # resp.gateway_ids #=> Array
2162
+ # resp.gateway_ids[0] #=> String
2163
+ # resp.next_token #=> String
2164
+ #
2165
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/ListResponderGateways AWS API Documentation
2166
+ #
2167
+ # @overload list_responder_gateways(params = {})
2168
+ # @param [Hash] params ({})
2169
+ def list_responder_gateways(params = {}, options = {})
2170
+ req = build_request(:list_responder_gateways, params)
2171
+ req.send_request(options)
2172
+ end
2173
+
2174
+ # Lists tags for a resource.
2175
+ #
2176
+ # @option params [required, String] :resource_arn
2177
+ # The Amazon Resource Name (ARN) of the resource for which you want to
2178
+ # retrieve tags.
2179
+ #
2180
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2181
+ #
2182
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
2183
+ #
2184
+ #
2185
+ # @example Example: List tags for a resource
2186
+ #
2187
+ # # Lists tags for a resource
2188
+ #
2189
+ # resp = client.list_tags_for_resource({
2190
+ # resource_arn: "arn:aws:rtbfabric:us-east-1:123456789012:gateway/rtb-gw-12345678",
2191
+ # })
2192
+ #
2193
+ # resp.to_h outputs the following:
2194
+ # {
2195
+ # tags: {
2196
+ # "Environment" => "Production",
2197
+ # "Team" => "RTB",
2198
+ # },
2199
+ # }
2200
+ #
2201
+ # @example Request syntax with placeholder values
2202
+ #
2203
+ # resp = client.list_tags_for_resource({
2204
+ # resource_arn: "RtbTaggableResourceArn", # required
2205
+ # })
2206
+ #
2207
+ # @example Response structure
2208
+ #
2209
+ # resp.tags #=> Hash
2210
+ # resp.tags["TagKey"] #=> String
2211
+ #
2212
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/ListTagsForResource AWS API Documentation
2213
+ #
2214
+ # @overload list_tags_for_resource(params = {})
2215
+ # @param [Hash] params ({})
2216
+ def list_tags_for_resource(params = {}, options = {})
2217
+ req = build_request(:list_tags_for_resource, params)
2218
+ req.send_request(options)
2219
+ end
2220
+
2221
+ # Rejects a link request between RTB applications.
2222
+ #
2223
+ # When a requester RTB application requests to link with a responder RTB
2224
+ # application, the responder can use this operation to decline the link
2225
+ # request.
2226
+ #
2227
+ # @option params [required, String] :gateway_id
2228
+ # The unique identifier of the gateway.
2229
+ #
2230
+ # @option params [required, String] :link_id
2231
+ # The unique identifier of the link.
2232
+ #
2233
+ # @return [Types::RejectLinkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2234
+ #
2235
+ # * {Types::RejectLinkResponse#gateway_id #gateway_id} => String
2236
+ # * {Types::RejectLinkResponse#peer_gateway_id #peer_gateway_id} => String
2237
+ # * {Types::RejectLinkResponse#status #status} => String
2238
+ # * {Types::RejectLinkResponse#created_at #created_at} => Time
2239
+ # * {Types::RejectLinkResponse#updated_at #updated_at} => Time
2240
+ # * {Types::RejectLinkResponse#direction #direction} => String
2241
+ # * {Types::RejectLinkResponse#flow_modules #flow_modules} => Array&lt;Types::ModuleConfiguration&gt;
2242
+ # * {Types::RejectLinkResponse#pending_flow_modules #pending_flow_modules} => Array&lt;Types::ModuleConfiguration&gt;
2243
+ # * {Types::RejectLinkResponse#attributes #attributes} => Types::LinkAttributes
2244
+ # * {Types::RejectLinkResponse#link_id #link_id} => String
2245
+ #
2246
+ #
2247
+ # @example Example: Reject a link request
2248
+ #
2249
+ # # Rejects a requested link request
2250
+ #
2251
+ # resp = client.reject_link({
2252
+ # gateway_id: "rtb-gw-12345678",
2253
+ # link_id: "link-87654321",
2254
+ # })
2255
+ #
2256
+ # resp.to_h outputs the following:
2257
+ # {
2258
+ # created_at: Time.parse("2024-01-15T10:30:00Z"),
2259
+ # gateway_id: "rtb-gw-12345678",
2260
+ # link_id: "link-87654321",
2261
+ # peer_gateway_id: "rtb-gw-87654321",
2262
+ # status: "REJECTED",
2263
+ # updated_at: Time.parse("2024-01-15T10:35:00Z"),
2264
+ # }
2265
+ #
2266
+ # @example Request syntax with placeholder values
2267
+ #
2268
+ # resp = client.reject_link({
2269
+ # gateway_id: "GatewayId", # required
2270
+ # link_id: "LinkId", # required
2271
+ # })
2272
+ #
2273
+ # @example Response structure
2274
+ #
2275
+ # resp.gateway_id #=> String
2276
+ # resp.peer_gateway_id #=> String
2277
+ # resp.status #=> String, one of "PENDING_CREATION", "PENDING_REQUEST", "REQUESTED", "ACCEPTED", "ACTIVE", "REJECTED", "FAILED", "PENDING_DELETION", "DELETED", "PENDING_UPDATE", "PENDING_ISOLATION", "ISOLATED", "PENDING_RESTORATION"
2278
+ # resp.created_at #=> Time
2279
+ # resp.updated_at #=> Time
2280
+ # resp.direction #=> String, one of "RESPONSE", "REQUEST"
2281
+ # resp.flow_modules #=> Array
2282
+ # resp.flow_modules[0].version #=> String
2283
+ # resp.flow_modules[0].name #=> String
2284
+ # resp.flow_modules[0].depends_on #=> Array
2285
+ # resp.flow_modules[0].depends_on[0] #=> String
2286
+ # resp.flow_modules[0].module_parameters.no_bid.reason #=> String
2287
+ # resp.flow_modules[0].module_parameters.no_bid.reason_code #=> Integer
2288
+ # resp.flow_modules[0].module_parameters.no_bid.pass_through_percentage #=> Float
2289
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_type #=> String, one of "INCLUDE", "EXCLUDE"
2290
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration #=> Array
2291
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria #=> Array
2292
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].path #=> String
2293
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values #=> Array
2294
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values[0] #=> String
2295
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.action.no_bid.no_bid_reason_code #=> Integer
2296
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.name #=> String
2297
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.value #=> String
2298
+ # resp.flow_modules[0].module_parameters.open_rtb_attribute.holdback_percentage #=> Float
2299
+ # resp.pending_flow_modules #=> Array
2300
+ # resp.pending_flow_modules[0].version #=> String
2301
+ # resp.pending_flow_modules[0].name #=> String
2302
+ # resp.pending_flow_modules[0].depends_on #=> Array
2303
+ # resp.pending_flow_modules[0].depends_on[0] #=> String
2304
+ # resp.pending_flow_modules[0].module_parameters.no_bid.reason #=> String
2305
+ # resp.pending_flow_modules[0].module_parameters.no_bid.reason_code #=> Integer
2306
+ # resp.pending_flow_modules[0].module_parameters.no_bid.pass_through_percentage #=> Float
2307
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_type #=> String, one of "INCLUDE", "EXCLUDE"
2308
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration #=> Array
2309
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria #=> Array
2310
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].path #=> String
2311
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values #=> Array
2312
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.filter_configuration[0].criteria[0].values[0] #=> String
2313
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.action.no_bid.no_bid_reason_code #=> Integer
2314
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.name #=> String
2315
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.action.header_tag.value #=> String
2316
+ # resp.pending_flow_modules[0].module_parameters.open_rtb_attribute.holdback_percentage #=> Float
2317
+ # resp.attributes.responder_error_masking #=> Array
2318
+ # resp.attributes.responder_error_masking[0].http_code #=> String
2319
+ # resp.attributes.responder_error_masking[0].action #=> String, one of "NO_BID", "PASSTHROUGH"
2320
+ # resp.attributes.responder_error_masking[0].logging_types #=> Array
2321
+ # resp.attributes.responder_error_masking[0].logging_types[0] #=> String, one of "NONE", "METRIC", "RESPONSE"
2322
+ # resp.attributes.responder_error_masking[0].response_logging_percentage #=> Float
2323
+ # resp.attributes.customer_provided_id #=> String
2324
+ # resp.link_id #=> String
2325
+ #
2326
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/RejectLink AWS API Documentation
2327
+ #
2328
+ # @overload reject_link(params = {})
2329
+ # @param [Hash] params ({})
2330
+ def reject_link(params = {}, options = {})
2331
+ req = build_request(:reject_link, params)
2332
+ req.send_request(options)
2333
+ end
2334
+
2335
+ # Assigns one or more tags (key-value pairs) to the specified resource.
2336
+ #
2337
+ # @option params [required, String] :resource_arn
2338
+ # The Amazon Resource Name (ARN) of the resource that you want to tag.
2339
+ #
2340
+ # @option params [required, Hash<String,String>] :tags
2341
+ # A map of the key-value pairs of the tag or tags to assign to the
2342
+ # resource.
2343
+ #
2344
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2345
+ #
2346
+ #
2347
+ # @example Example: Add tags to a resource
2348
+ #
2349
+ # # Adds tags to a resource
2350
+ #
2351
+ # resp = client.tag_resource({
2352
+ # resource_arn: "arn:aws:rtbfabric:us-east-1:123456789012:gateway/rtb-gw-12345678",
2353
+ # tags: {
2354
+ # "Environment" => "Production",
2355
+ # "Team" => "RTB",
2356
+ # },
2357
+ # })
2358
+ #
2359
+ # resp.to_h outputs the following:
2360
+ # {
2361
+ # }
2362
+ #
2363
+ # @example Request syntax with placeholder values
2364
+ #
2365
+ # resp = client.tag_resource({
2366
+ # resource_arn: "RtbTaggableResourceArn", # required
2367
+ # tags: { # required
2368
+ # "TagKey" => "TagValue",
2369
+ # },
2370
+ # })
2371
+ #
2372
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/TagResource AWS API Documentation
2373
+ #
2374
+ # @overload tag_resource(params = {})
2375
+ # @param [Hash] params ({})
2376
+ def tag_resource(params = {}, options = {})
2377
+ req = build_request(:tag_resource, params)
2378
+ req.send_request(options)
2379
+ end
2380
+
2381
+ # Removes a tag or tags from a resource.
2382
+ #
2383
+ # @option params [required, String] :resource_arn
2384
+ # The Amazon Resource Name (ARN) of the resource that you want to untag.
2385
+ #
2386
+ # @option params [required, Array<String>] :tag_keys
2387
+ # The keys of the key-value pairs for the tag or tags you want to remove
2388
+ # from the specified resource.
2389
+ #
2390
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2391
+ #
2392
+ #
2393
+ # @example Example: Remove tags from a resource
2394
+ #
2395
+ # # Removes tags from a resource
2396
+ #
2397
+ # resp = client.untag_resource({
2398
+ # resource_arn: "arn:aws:rtbfabric:us-east-1:123456789012:gateway/rtb-gw-12345678",
2399
+ # tag_keys: [
2400
+ # "Environment",
2401
+ # "Team",
2402
+ # ],
2403
+ # })
2404
+ #
2405
+ # resp.to_h outputs the following:
2406
+ # {
2407
+ # }
2408
+ #
2409
+ # @example Request syntax with placeholder values
2410
+ #
2411
+ # resp = client.untag_resource({
2412
+ # resource_arn: "RtbTaggableResourceArn", # required
2413
+ # tag_keys: ["TagKey"], # required
2414
+ # })
2415
+ #
2416
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/UntagResource AWS API Documentation
2417
+ #
2418
+ # @overload untag_resource(params = {})
2419
+ # @param [Hash] params ({})
2420
+ def untag_resource(params = {}, options = {})
2421
+ req = build_request(:untag_resource, params)
2422
+ req.send_request(options)
2423
+ end
2424
+
2425
+ # Updates the configuration of a link between RTB applications.
2426
+ #
2427
+ # Allows you to modify settings and parameters for an existing link.
2428
+ #
2429
+ # @option params [required, String] :gateway_id
2430
+ # The unique identifier of the gateway.
2431
+ #
2432
+ # @option params [required, String] :link_id
2433
+ # The unique identifier of the link.
2434
+ #
2435
+ # @option params [Types::LinkLogSettings] :log_settings
2436
+ # Settings for the application logs.
2437
+ #
2438
+ # @return [Types::UpdateLinkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2439
+ #
2440
+ # * {Types::UpdateLinkResponse#link_id #link_id} => String
2441
+ # * {Types::UpdateLinkResponse#status #status} => String
2442
+ #
2443
+ #
2444
+ # @example Example: Update link settings
2445
+ #
2446
+ # # Updates configuration settings for an existing link
2447
+ #
2448
+ # resp = client.update_link({
2449
+ # gateway_id: "rtb-gw-12345678",
2450
+ # link_id: "link-87654321",
2451
+ # log_settings: {
2452
+ # application_logs: {
2453
+ # sampling: {
2454
+ # error_log: 100.0,
2455
+ # filter_log: 10.0,
2456
+ # },
2457
+ # },
2458
+ # },
2459
+ # })
2460
+ #
2461
+ # resp.to_h outputs the following:
2462
+ # {
2463
+ # link_id: "link-87654321",
2464
+ # status: "ACTIVE",
2465
+ # }
2466
+ #
2467
+ # @example Request syntax with placeholder values
2468
+ #
2469
+ # resp = client.update_link({
2470
+ # gateway_id: "GatewayId", # required
2471
+ # link_id: "LinkId", # required
2472
+ # log_settings: {
2473
+ # application_logs: { # required
2474
+ # sampling: { # required
2475
+ # error_log: 1.0, # required
2476
+ # filter_log: 1.0, # required
2477
+ # },
2478
+ # },
2479
+ # },
2480
+ # })
2481
+ #
2482
+ # @example Response structure
2483
+ #
2484
+ # resp.link_id #=> String
2485
+ # resp.status #=> String, one of "PENDING_CREATION", "PENDING_REQUEST", "REQUESTED", "ACCEPTED", "ACTIVE", "REJECTED", "FAILED", "PENDING_DELETION", "DELETED", "PENDING_UPDATE", "PENDING_ISOLATION", "ISOLATED", "PENDING_RESTORATION"
2486
+ #
2487
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/UpdateLink AWS API Documentation
2488
+ #
2489
+ # @overload update_link(params = {})
2490
+ # @param [Hash] params ({})
2491
+ def update_link(params = {}, options = {})
2492
+ req = build_request(:update_link, params)
2493
+ req.send_request(options)
2494
+ end
2495
+
2496
+ # Updates a link module flow.
2497
+ #
2498
+ # @option params [required, String] :client_token
2499
+ # The unique client token.
2500
+ #
2501
+ # **A suitable default value is auto-generated.** You should normally
2502
+ # not need to pass this option.**
2503
+ #
2504
+ # @option params [required, String] :gateway_id
2505
+ # The unique identifier of the gateway.
2506
+ #
2507
+ # @option params [required, String] :link_id
2508
+ # The unique identifier of the link.
2509
+ #
2510
+ # @option params [required, Array<Types::ModuleConfiguration>] :modules
2511
+ # The configuration of a module.
2512
+ #
2513
+ # @return [Types::UpdateLinkModuleFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2514
+ #
2515
+ # * {Types::UpdateLinkModuleFlowResponse#gateway_id #gateway_id} => String
2516
+ # * {Types::UpdateLinkModuleFlowResponse#link_id #link_id} => String
2517
+ # * {Types::UpdateLinkModuleFlowResponse#status #status} => String
2518
+ #
2519
+ #
2520
+ # @example Example: Update link module flow
2521
+ #
2522
+ # # Update link module flow for link
2523
+ #
2524
+ # resp = client.update_link_module_flow({
2525
+ # client_token: "randomClientToken",
2526
+ # gateway_id: "rtb-gw-12345678",
2527
+ # link_id: "link-87654321",
2528
+ # modules: [
2529
+ # {
2530
+ # version: "1dot0dot0",
2531
+ # name: "noBidModule",
2532
+ # depends_on: [
2533
+ # ],
2534
+ # module_parameters: {
2535
+ # no_bid: {
2536
+ # pass_through_percentage: 50.0,
2537
+ # reason: "test",
2538
+ # reason_code: 1,
2539
+ # },
2540
+ # },
2541
+ # },
2542
+ # ],
2543
+ # })
2544
+ #
2545
+ # resp.to_h outputs the following:
2546
+ # {
2547
+ # gateway_id: "rtb-gw-12345678",
2548
+ # link_id: "link-87654321",
2549
+ # status: "ACTIVE",
2550
+ # }
2551
+ #
2552
+ # @example Request syntax with placeholder values
2553
+ #
2554
+ # resp = client.update_link_module_flow({
2555
+ # client_token: "String", # required
2556
+ # gateway_id: "GatewayId", # required
2557
+ # link_id: "LinkId", # required
2558
+ # modules: [ # required
2559
+ # {
2560
+ # version: "Version",
2561
+ # name: "FlowModuleName", # required
2562
+ # depends_on: ["FlowModuleName"],
2563
+ # module_parameters: {
2564
+ # no_bid: {
2565
+ # reason: "NoBidModuleParametersReasonString",
2566
+ # reason_code: 1,
2567
+ # pass_through_percentage: 1.0,
2568
+ # },
2569
+ # open_rtb_attribute: {
2570
+ # filter_type: "INCLUDE", # required, accepts INCLUDE, EXCLUDE
2571
+ # filter_configuration: [ # required
2572
+ # {
2573
+ # criteria: [ # required
2574
+ # {
2575
+ # path: "String", # required
2576
+ # values: ["String"], # required
2577
+ # },
2578
+ # ],
2579
+ # },
2580
+ # ],
2581
+ # action: { # required
2582
+ # no_bid: {
2583
+ # no_bid_reason_code: 1,
2584
+ # },
2585
+ # header_tag: {
2586
+ # name: "String", # required
2587
+ # value: "String", # required
2588
+ # },
2589
+ # },
2590
+ # holdback_percentage: 1.0, # required
2591
+ # },
2592
+ # },
2593
+ # },
2594
+ # ],
2595
+ # })
2596
+ #
2597
+ # @example Response structure
2598
+ #
2599
+ # resp.gateway_id #=> String
2600
+ # resp.link_id #=> String
2601
+ # resp.status #=> String, one of "PENDING_CREATION", "PENDING_REQUEST", "REQUESTED", "ACCEPTED", "ACTIVE", "REJECTED", "FAILED", "PENDING_DELETION", "DELETED", "PENDING_UPDATE", "PENDING_ISOLATION", "ISOLATED", "PENDING_RESTORATION"
2602
+ #
2603
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/UpdateLinkModuleFlow AWS API Documentation
2604
+ #
2605
+ # @overload update_link_module_flow(params = {})
2606
+ # @param [Hash] params ({})
2607
+ def update_link_module_flow(params = {}, options = {})
2608
+ req = build_request(:update_link_module_flow, params)
2609
+ req.send_request(options)
2610
+ end
2611
+
2612
+ # Updates a requester gateway.
2613
+ #
2614
+ # @option params [required, String] :client_token
2615
+ # The unique client token.
2616
+ #
2617
+ # **A suitable default value is auto-generated.** You should normally
2618
+ # not need to pass this option.**
2619
+ #
2620
+ # @option params [required, String] :gateway_id
2621
+ # The unique identifier of the gateway.
2622
+ #
2623
+ # @option params [String] :description
2624
+ # An optional description for the requester gateway.
2625
+ #
2626
+ # @return [Types::UpdateRequesterGatewayResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2627
+ #
2628
+ # * {Types::UpdateRequesterGatewayResponse#gateway_id #gateway_id} => String
2629
+ # * {Types::UpdateRequesterGatewayResponse#status #status} => String
2630
+ #
2631
+ #
2632
+ # @example Example: Update requester gateway
2633
+ #
2634
+ # # Update requester gateway
2635
+ #
2636
+ # resp = client.update_requester_gateway({
2637
+ # client_token: "12345678-1234-1234-1234-123456789012",
2638
+ # description: "Updated requester gateway description",
2639
+ # gateway_id: "rtb-gw-12345678",
2640
+ # })
2641
+ #
2642
+ # resp.to_h outputs the following:
2643
+ # {
2644
+ # gateway_id: "rtb-gw-12345678",
2645
+ # status: "PENDING_UPDATE",
2646
+ # }
2647
+ #
2648
+ # @example Request syntax with placeholder values
2649
+ #
2650
+ # resp = client.update_requester_gateway({
2651
+ # client_token: "String", # required
2652
+ # gateway_id: "GatewayId", # required
2653
+ # description: "UpdateRequesterGatewayRequestDescriptionString",
2654
+ # })
2655
+ #
2656
+ # @example Response structure
2657
+ #
2658
+ # resp.gateway_id #=> String
2659
+ # resp.status #=> String, one of "PENDING_CREATION", "ACTIVE", "PENDING_DELETION", "DELETED", "ERROR", "PENDING_UPDATE", "ISOLATED", "PENDING_ISOLATION", "PENDING_RESTORATION"
2660
+ #
2661
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/UpdateRequesterGateway AWS API Documentation
2662
+ #
2663
+ # @overload update_requester_gateway(params = {})
2664
+ # @param [Hash] params ({})
2665
+ def update_requester_gateway(params = {}, options = {})
2666
+ req = build_request(:update_requester_gateway, params)
2667
+ req.send_request(options)
2668
+ end
2669
+
2670
+ # Updates a responder gateway.
2671
+ #
2672
+ # @option params [String] :domain_name
2673
+ # The domain name for the responder gateway.
2674
+ #
2675
+ # @option params [required, Integer] :port
2676
+ # The networking port to use.
2677
+ #
2678
+ # @option params [required, String] :protocol
2679
+ # The networking protocol to use.
2680
+ #
2681
+ # @option params [Types::TrustStoreConfiguration] :trust_store_configuration
2682
+ # The configuration of the trust store.
2683
+ #
2684
+ # @option params [Types::ManagedEndpointConfiguration] :managed_endpoint_configuration
2685
+ # The configuration for the managed endpoint.
2686
+ #
2687
+ # @option params [required, String] :client_token
2688
+ # The unique client token.
2689
+ #
2690
+ # **A suitable default value is auto-generated.** You should normally
2691
+ # not need to pass this option.**
2692
+ #
2693
+ # @option params [required, String] :gateway_id
2694
+ # The unique identifier of the gateway.
2695
+ #
2696
+ # @option params [String] :description
2697
+ # An optional description for the responder gateway.
2698
+ #
2699
+ # @return [Types::UpdateResponderGatewayResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2700
+ #
2701
+ # * {Types::UpdateResponderGatewayResponse#gateway_id #gateway_id} => String
2702
+ # * {Types::UpdateResponderGatewayResponse#status #status} => String
2703
+ #
2704
+ #
2705
+ # @example Example: Update responder gateway
2706
+ #
2707
+ # # Update responder gateway
2708
+ #
2709
+ # resp = client.update_responder_gateway({
2710
+ # client_token: "12345678-1234-1234-1234-123456789012",
2711
+ # description: "Updated responder gateway description",
2712
+ # gateway_id: "rtb-gw-12345678",
2713
+ # port: 8080,
2714
+ # protocol: "HTTP",
2715
+ # })
2716
+ #
2717
+ # resp.to_h outputs the following:
2718
+ # {
2719
+ # gateway_id: "rtb-gw-12345678",
2720
+ # status: "PENDING_UPDATE",
2721
+ # }
2722
+ #
2723
+ # @example Request syntax with placeholder values
2724
+ #
2725
+ # resp = client.update_responder_gateway({
2726
+ # domain_name: "DomainName",
2727
+ # port: 1, # required
2728
+ # protocol: "HTTP", # required, accepts HTTP, HTTPS
2729
+ # trust_store_configuration: {
2730
+ # certificate_authority_certificates: ["Base64EncodedCertificateChain"], # required
2731
+ # },
2732
+ # managed_endpoint_configuration: {
2733
+ # auto_scaling_groups: {
2734
+ # auto_scaling_group_names: ["AutoScalingGroupName"], # required
2735
+ # role_arn: "String", # required
2736
+ # },
2737
+ # eks_endpoints: {
2738
+ # endpoints_resource_name: "KubernetesEndpointsResourceName", # required
2739
+ # endpoints_resource_namespace: "KubernetesNamespace", # required
2740
+ # cluster_api_server_endpoint_uri: "URI", # required
2741
+ # cluster_api_server_ca_certificate_chain: "Base64EncodedCertificateChain", # required
2742
+ # cluster_name: "KubernetesClusterName", # required
2743
+ # role_arn: "String", # required
2744
+ # },
2745
+ # },
2746
+ # client_token: "String", # required
2747
+ # gateway_id: "GatewayId", # required
2748
+ # description: "UpdateResponderGatewayRequestDescriptionString",
2749
+ # })
2750
+ #
2751
+ # @example Response structure
2752
+ #
2753
+ # resp.gateway_id #=> String
2754
+ # resp.status #=> String, one of "PENDING_CREATION", "ACTIVE", "PENDING_DELETION", "DELETED", "ERROR", "PENDING_UPDATE", "ISOLATED", "PENDING_ISOLATION", "PENDING_RESTORATION"
2755
+ #
2756
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/UpdateResponderGateway AWS API Documentation
2757
+ #
2758
+ # @overload update_responder_gateway(params = {})
2759
+ # @param [Hash] params ({})
2760
+ def update_responder_gateway(params = {}, options = {})
2761
+ req = build_request(:update_responder_gateway, params)
2762
+ req.send_request(options)
2763
+ end
2764
+
2765
+ # @!endgroup
2766
+
2767
+ # @param params ({})
2768
+ # @api private
2769
+ def build_request(operation_name, params = {})
2770
+ handlers = @handlers.for(operation_name)
2771
+ tracer = config.telemetry_provider.tracer_provider.tracer(
2772
+ Aws::Telemetry.module_to_tracer_name('Aws::RTBFabric')
2773
+ )
2774
+ context = Seahorse::Client::RequestContext.new(
2775
+ operation_name: operation_name,
2776
+ operation: config.api.operation(operation_name),
2777
+ client: self,
2778
+ params: params,
2779
+ config: config,
2780
+ tracer: tracer
2781
+ )
2782
+ context[:gem_name] = 'aws-sdk-rtbfabric'
2783
+ context[:gem_version] = '1.0.0'
2784
+ Seahorse::Client::Request.new(handlers, context)
2785
+ end
2786
+
2787
+ # Polls an API operation until a resource enters a desired state.
2788
+ #
2789
+ # ## Basic Usage
2790
+ #
2791
+ # A waiter will call an API operation until:
2792
+ #
2793
+ # * It is successful
2794
+ # * It enters a terminal state
2795
+ # * It makes the maximum number of attempts
2796
+ #
2797
+ # In between attempts, the waiter will sleep.
2798
+ #
2799
+ # # polls in a loop, sleeping between attempts
2800
+ # client.wait_until(waiter_name, params)
2801
+ #
2802
+ # ## Configuration
2803
+ #
2804
+ # You can configure the maximum number of polling attempts, and the
2805
+ # delay (in seconds) between each polling attempt. You can pass
2806
+ # configuration as the final arguments hash.
2807
+ #
2808
+ # # poll for ~25 seconds
2809
+ # client.wait_until(waiter_name, params, {
2810
+ # max_attempts: 5,
2811
+ # delay: 5,
2812
+ # })
2813
+ #
2814
+ # ## Callbacks
2815
+ #
2816
+ # You can be notified before each polling attempt and before each
2817
+ # delay. If you throw `:success` or `:failure` from these callbacks,
2818
+ # it will terminate the waiter.
2819
+ #
2820
+ # started_at = Time.now
2821
+ # client.wait_until(waiter_name, params, {
2822
+ #
2823
+ # # disable max attempts
2824
+ # max_attempts: nil,
2825
+ #
2826
+ # # poll for 1 hour, instead of a number of attempts
2827
+ # before_wait: -> (attempts, response) do
2828
+ # throw :failure if Time.now - started_at > 3600
2829
+ # end
2830
+ # })
2831
+ #
2832
+ # ## Handling Errors
2833
+ #
2834
+ # When a waiter is unsuccessful, it will raise an error.
2835
+ # All of the failure errors extend from
2836
+ # {Aws::Waiters::Errors::WaiterFailed}.
2837
+ #
2838
+ # begin
2839
+ # client.wait_until(...)
2840
+ # rescue Aws::Waiters::Errors::WaiterFailed
2841
+ # # resource did not enter the desired state in time
2842
+ # end
2843
+ #
2844
+ # ## Valid Waiters
2845
+ #
2846
+ # The following table lists the valid waiter names, the operations they call,
2847
+ # and the default `:delay` and `:max_attempts` values.
2848
+ #
2849
+ # | waiter_name | params | :delay | :max_attempts |
2850
+ # | ----------------------------- | ----------------------------------- | -------- | ------------- |
2851
+ # | inbound_external_link_active | {Client#get_inbound_external_link} | 30 | 5 |
2852
+ # | link_accepted | {Client#get_link} | 30 | 5 |
2853
+ # | link_active | {Client#get_link} | 30 | 5 |
2854
+ # | outbound_external_link_active | {Client#get_outbound_external_link} | 30 | 5 |
2855
+ # | requester_gateway_active | {Client#get_requester_gateway} | 30 | 5 |
2856
+ # | requester_gateway_deleted | {Client#get_requester_gateway} | 30 | 5 |
2857
+ # | responder_gateway_active | {Client#get_responder_gateway} | 30 | 5 |
2858
+ # | responder_gateway_deleted | {Client#get_responder_gateway} | 30 | 5 |
2859
+ #
2860
+ # @raise [Errors::FailureStateError] Raised when the waiter terminates
2861
+ # because the waiter has entered a state that it will not transition
2862
+ # out of, preventing success.
2863
+ #
2864
+ # @raise [Errors::TooManyAttemptsError] Raised when the configured
2865
+ # maximum number of attempts have been made, and the waiter is not
2866
+ # yet successful.
2867
+ #
2868
+ # @raise [Errors::UnexpectedError] Raised when an error is encounted
2869
+ # while polling for a resource that is not expected.
2870
+ #
2871
+ # @raise [Errors::NoSuchWaiterError] Raised when you request to wait
2872
+ # for an unknown state.
2873
+ #
2874
+ # @return [Boolean] Returns `true` if the waiter was successful.
2875
+ # @param [Symbol] waiter_name
2876
+ # @param [Hash] params ({})
2877
+ # @param [Hash] options ({})
2878
+ # @option options [Integer] :max_attempts
2879
+ # @option options [Integer] :delay
2880
+ # @option options [Proc] :before_attempt
2881
+ # @option options [Proc] :before_wait
2882
+ def wait_until(waiter_name, params = {}, options = {})
2883
+ w = waiter(waiter_name, options)
2884
+ yield(w.waiter) if block_given? # deprecated
2885
+ w.wait(params)
2886
+ end
2887
+
2888
+ # @api private
2889
+ # @deprecated
2890
+ def waiter_names
2891
+ waiters.keys
2892
+ end
2893
+
2894
+ private
2895
+
2896
+ # @param [Symbol] waiter_name
2897
+ # @param [Hash] options ({})
2898
+ def waiter(waiter_name, options = {})
2899
+ waiter_class = waiters[waiter_name]
2900
+ if waiter_class
2901
+ waiter_class.new(options.merge(client: self))
2902
+ else
2903
+ raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
2904
+ end
2905
+ end
2906
+
2907
+ def waiters
2908
+ {
2909
+ inbound_external_link_active: Waiters::InboundExternalLinkActive,
2910
+ link_accepted: Waiters::LinkAccepted,
2911
+ link_active: Waiters::LinkActive,
2912
+ outbound_external_link_active: Waiters::OutboundExternalLinkActive,
2913
+ requester_gateway_active: Waiters::RequesterGatewayActive,
2914
+ requester_gateway_deleted: Waiters::RequesterGatewayDeleted,
2915
+ responder_gateway_active: Waiters::ResponderGatewayActive,
2916
+ responder_gateway_deleted: Waiters::ResponderGatewayDeleted
2917
+ }
2918
+ end
2919
+
2920
+ class << self
2921
+
2922
+ # @api private
2923
+ attr_reader :identifier
2924
+
2925
+ # @api private
2926
+ def errors_module
2927
+ Errors
2928
+ end
2929
+
2930
+ end
2931
+ end
2932
+ end