From 14a2d692b22d0c1ca751001866ccb2d926dae6e7 Mon Sep 17 00:00:00 2001 From: Matt Muller Date: Tue, 22 Apr 2025 00:12:50 -0400 Subject: [PATCH 01/22] Do not dynamically define operation methods --- gems/aws-sdk-core/CHANGELOG.md | 2 ++ gems/aws-sdk-core/lib/seahorse/client/base.rb | 14 -------------- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/gems/aws-sdk-core/CHANGELOG.md b/gems/aws-sdk-core/CHANGELOG.md index eb9e6559bcd..5f57430ac76 100644 --- a/gems/aws-sdk-core/CHANGELOG.md +++ b/gems/aws-sdk-core/CHANGELOG.md @@ -1,6 +1,8 @@ Unreleased Changes ------------------ +* Issue - Do not dynamically create operation methods from the API. (#3234) + 3.222.2 (2025-04-16) ------------------ diff --git a/gems/aws-sdk-core/lib/seahorse/client/base.rb b/gems/aws-sdk-core/lib/seahorse/client/base.rb index c1f28196280..609a633817e 100644 --- a/gems/aws-sdk-core/lib/seahorse/client/base.rb +++ b/gems/aws-sdk-core/lib/seahorse/client/base.rb @@ -176,8 +176,6 @@ def api # @return [Model::Api] def set_api(api) @api = api - define_operation_methods - @api end # @option options [Model::Api, Hash] :api ({}) @@ -196,18 +194,6 @@ def define(options = {}) private - def define_operation_methods - operations_module = Module.new - @api.operation_names.each do |method_name| - operations_module.send(:define_method, method_name) do |*args, &block| - params = args[0] || {} - options = args[1] || {} - build_request(method_name, params).send_request(options, &block) - end - end - include(operations_module) - end - def build_plugins(plugins) plugins.map { |plugin| plugin.is_a?(Class) ? plugin.new : plugin } end From 71f252ad743abf0e76d83fd4757b497db6ffbd52 Mon Sep 17 00:00:00 2001 From: Juli Tera Date: Tue, 22 Apr 2025 12:09:41 -0700 Subject: [PATCH 02/22] Fix tests --- gems/aws-sdk-core/spec/api_helper.rb | 20 +++ gems/aws-sdk-core/spec/aws/client_spec.rb | 17 +-- .../spec/aws/log/formatter_spec.rb | 2 +- .../spec/aws/plugins/http_checksum_spec.rb | 9 +- .../spec/aws/plugins/signature_v4_spec.rb | 140 ++++++++++-------- .../spec/aws/plugins/user_agent_spec.rb | 4 +- .../spec/aws/request_callback_spec.rb | 2 +- .../spec/seahorse/client/base_spec.rb | 7 +- 8 files changed, 117 insertions(+), 84 deletions(-) diff --git a/gems/aws-sdk-core/spec/api_helper.rb b/gems/aws-sdk-core/spec/api_helper.rb index ddf345eb357..fdc3d13e587 100644 --- a/gems/aws-sdk-core/spec/api_helper.rb +++ b/gems/aws-sdk-core/spec/api_helper.rb @@ -165,6 +165,12 @@ def sample_service(options = {}) Object.const_get(module_name) end + def sample_client(options = {}) + service = options[:service] || sample_service + client_class = service.const_get(:Client) + define_operation_methods(client_class) + end + def sample_rest_service(options) sample_service(options) end @@ -183,6 +189,20 @@ def api(options) } end + def define_operation_methods(client_class) + operations_module = Module.new + client_class.api.operation_names.each do |method_name| + operations_module.send(:define_method, method_name) do |*args, &block| + params = args[0] || {} + options = args[1] || {} + build_request(method_name, params).send_request(options, &block) + end + end + client_class.include(operations_module) + client_class + end + + def metadata(options) { 'endpointPrefix' => 'svc', diff --git a/gems/aws-sdk-core/spec/aws/client_spec.rb b/gems/aws-sdk-core/spec/aws/client_spec.rb index 0ce70eb0fe4..f1bbb826960 100644 --- a/gems/aws-sdk-core/spec/aws/client_spec.rb +++ b/gems/aws-sdk-core/spec/aws/client_spec.rb @@ -6,8 +6,6 @@ module Aws describe 'Client' do describe 'response stubbing' do - ResponseStubbingExample = ApiHelper.sample_service - let(:options) {{ stub_responses: true, region: 'us-east-1', @@ -15,7 +13,7 @@ module Aws secret_access_key: 'secret', }} - let(:client_class) { ResponseStubbingExample.const_get(:Client) } + let(:client_class) { ApiHelper.sample_client } let(:client) { client_class.new(options) } @@ -27,10 +25,12 @@ module Aws context 'when requests are signed' do + let(:sample_service) do + ApiHelper.sample_service(metadata: { 'signatureVersion' => 'v4' }) + end + let(:client_class) do - ApiHelper - .sample_service(metadata: {'signatureVersion' => 'v4'}) - .const_get(:Client) + ApiHelper.sample_client(service: sample_service) end it 'raises an error when credentials are nil' do @@ -179,8 +179,7 @@ module Aws end context 'api requests' do - ApiRequestsStubbingExample = ApiHelper.sample_rest_xml - let(:client_class) { ApiRequestsStubbingExample.const_get(:Client) } + let(:client_class) { ApiHelper.sample_client(service: ApiHelper.sample_rest_xml) } let(:client) { client_class.new(options) } it 'allows api requests to be logged when stubbed' do @@ -193,7 +192,7 @@ module Aws expect(log_obj[:params]).to eq({:bucket=>"aws-sdk"}) expect(log_obj[:context].metadata).to eq( { - :gem_name=>"aws-sdk-sampleapi2", + :gem_name=>"aws-sdk-sampleapi14", :gem_version=>"1.0.0", :response_target=>nil, :original_params=>{:bucket=>"aws-sdk"}, diff --git a/gems/aws-sdk-core/spec/aws/log/formatter_spec.rb b/gems/aws-sdk-core/spec/aws/log/formatter_spec.rb index 5fac668267a..7ea773cd1fc 100644 --- a/gems/aws-sdk-core/spec/aws/log/formatter_spec.rb +++ b/gems/aws-sdk-core/spec/aws/log/formatter_spec.rb @@ -9,7 +9,7 @@ module Log # Instead of using Response.new, create an example client and set the # response to be a real one (with types) for sensitive param filtering let(:client) do - ApiHelper.sample_service.const_get(:Client).new(stub_responses: true) + ApiHelper.sample_client.new(stub_responses: true) end let(:response) { client.example_operation } diff --git a/gems/aws-sdk-core/spec/aws/plugins/http_checksum_spec.rb b/gems/aws-sdk-core/spec/aws/plugins/http_checksum_spec.rb index 227337077fb..f51e1934769 100644 --- a/gems/aws-sdk-core/spec/aws/plugins/http_checksum_spec.rb +++ b/gems/aws-sdk-core/spec/aws/plugins/http_checksum_spec.rb @@ -6,7 +6,7 @@ module Aws module Plugins describe HttpChecksum do - let(:http_checksum_client) do + let(:service) do ApiHelper.sample_service( metadata: { 'protocol' => 'rest-xml' }, operations: { @@ -28,12 +28,11 @@ module Plugins 'httpChecksumRequired' => { 'required' => 'true' } } } - ).const_get(:Client) + ) end - let(:client) do - http_checksum_client.new(stub_responses: true) - end + let(:client_class) { ApiHelper.sample_client(service: service) } + let(:client) { client_class.new(stub_responses: true) } context 'checksum not required' do it 'does not compute MD5 and does not send the content-md5 header' do diff --git a/gems/aws-sdk-core/spec/aws/plugins/signature_v4_spec.rb b/gems/aws-sdk-core/spec/aws/plugins/signature_v4_spec.rb index 781f2096a36..c4dcb9c30c7 100644 --- a/gems/aws-sdk-core/spec/aws/plugins/signature_v4_spec.rb +++ b/gems/aws-sdk-core/spec/aws/plugins/signature_v4_spec.rb @@ -5,12 +5,16 @@ module Aws module Plugins describe SignatureV4 do + let(:service) do + ApiHelper.sample_service( + metadata: { + 'signatureVersion' => 'v4', + 'endpointPrefix' => 'svc-name' + } + ) + end - Sigv4Client = ApiHelper.sample_service(metadata: { - 'signatureVersion' => 'v4', - 'endpointPrefix' => 'svc-name', - }).const_get(:Client) - + let(:client_class) { ApiHelper.sample_client(service: service) } let(:plugin) { SignatureV4.new } let(:options) {{ @@ -20,18 +24,15 @@ module Plugins }} it 'raises an error when attempting to sign a request w/out credentials' do - client = Sigv4Client.new(region: 'us-west-1') + client = client_class.new(region: 'us-west-1') expect { client.example_operation }.to raise_error(Errors::MissingCredentialsError) end describe 'sigv4 signing name' do - it 'accepts a sigv4 signing name configuration option' do - client = Sigv4Client.new(options.merge( - sigv4_name: 'name', - )) + client = client_class.new(options.merge(sigv4_name: 'name')) expect(client.config.sigv4_name).to eq('name') end @@ -41,86 +42,97 @@ module Plugins .with('other-region', 'svc-name') .and_return('override-service') - client = Sigv4Client.new(options.merge( - region: 'other-region', - endpoint: 'https://svc-name.amazonaws.com' - )) + client = client_class.new(options.merge( + region: 'other-region', + endpoint: 'https://svc-name.amazonaws.com' + )) expect(client.config.sigv4_name).to eq('override-service') end it 'defaults the sigv4 name to the endpoint prefix' do - svc = ApiHelper.sample_service(metadata: { - 'signatureVersion' => 'v4', - 'endpointPrefix' => 'endpoint-prefix', - }) - client = svc::Client.new(options) + svc = ApiHelper.sample_service( + metadata: { + 'signatureVersion' => 'v4', + 'endpointPrefix' => 'endpoint-prefix' + } + ) + client = ApiHelper.sample_client(service: svc).new(options) expect(client.config.sigv4_name).to eq('endpoint-prefix') end it 'prefers the signingName over endpointPrefix' do - svc = ApiHelper.sample_service(metadata: { - 'signatureVersion' => 'v4', - 'endpointPrefix' => 'endpoint-prefix', - 'signingName' => 'signing-name', - }) - client = svc::Client.new(options) + svc = ApiHelper.sample_service( + metadata: { + 'signatureVersion' => 'v4', + 'endpointPrefix' => 'endpoint-prefix', + 'signingName' => 'signing-name' + } + ) + client = ApiHelper.sample_client(service: svc).new(options) expect(client.config.sigv4_name).to eq('signing-name') end end describe 'sigv4 signing region' do - it 'uses the endpoint provider for global endpoints' do expect(Aws::Partitions::EndpointProvider) .to receive(:signing_region) .with('other-region', 'svc-name', nil) .and_return('us-east-1') - client = Sigv4Client.new(options.merge( - region: 'other-region', - endpoint: 'https://svc-name.amazonaws.com' - )) + client = client_class.new( + options.merge( + region: 'other-region', + endpoint: 'https://svc-name.amazonaws.com' + ) + ) expect(client.config.sigv4_region).to eq('us-east-1') end it 'defaults to configured region if it can not be extracted' do - client = Sigv4Client.new(options.merge( - region: 'other-region', - endpoint: 'https://localhost:3000' - )) + client = client_class.new( + options.merge( + region: 'other-region', + endpoint: 'https://localhost:3000' + ) + ) expect(client.config.sigv4_region).to eq('other-region') end it 'uses the specified region when no endpointPrefix is present' do - svc = ApiHelper.sample_service(metadata: { - 'signatureVersion' => 'v4', - 'signingName' => 'signing-name', - 'endpointPrefix' => nil, - }) - client = svc::Client.new(options.merge( + svc = ApiHelper.sample_service( + metadata: { + 'signatureVersion' => 'v4', + 'signingName' => 'signing-name', + 'endpointPrefix' => nil + } + ) + client_opts = { region: 'eu-west-1', - endpoint: 'http://uniqueness.svc.us-west-2.amazonaws.com', - )) + endpoint: 'http://uniqueness.svc.us-west-2.amazonaws.com' + } + client = ApiHelper.sample_client(service: svc).new(options.merge(client_opts)) expect(client.config.sigv4_name).to eq('signing-name') expect(client.config.sigv4_region).to eq('eu-west-1') end it 'uses the endpointPrefix to find the signing_region' do - svc = ApiHelper.sample_service(metadata: { - 'signatureVersion' => 'v4', - 'signingName' => 'signing-name', - 'endpointPrefix' => 'api.service', - }) + svc = ApiHelper.sample_service( + metadata: { + 'signatureVersion' => 'v4', + 'signingName' => 'signing-name', + 'endpointPrefix' => 'api.service', + } + ) allow(Aws::Plugins::RegionalEndpoint).to receive(:warn) expect(Aws::Partitions::EndpointProvider) .to receive(:signing_region) .with('us-east-1', 'api.service', nil) .and_return('us-east-1') - client = svc::Client.new(options.merge( - region: 'fips-us-east-1', - )) + client = ApiHelper.sample_client(service: svc) + .new(options.merge(region: 'fips-us-east-1')) expect(client.config.sigv4_name).to eq('signing-name') expect(client.config.sigv4_region).to eq('us-east-1') end @@ -128,7 +140,6 @@ module Plugins end describe 'apply authtype trait' do - let(:api) {{ 'metadata' => { 'protocol' => 'rest-xml', @@ -215,13 +226,16 @@ module Plugins } }} let(:svc) { ApiHelper.sample_service(api: api) } - let(:client) { - svc::Client.new(options.merge( - region: 'region', - endpoint: 'https://domain.region.amazonaws.com', - stub_responses: true - )) - } + let(:client_class) { ApiHelper.sample_client(service: svc) } + let(:client) do + client_class.new( + options.merge( + region: 'region', + endpoint: 'https://domain.region.amazonaws.com', + stub_responses: true + ) + ) + end let(:datetime) { '20120101T10:11:12Z' } let(:now) { Time.parse(datetime) } @@ -247,7 +261,7 @@ module Plugins end it "signs payload for HTTP request even when 'v4-unsigned-payload' is set" do - client = svc::Client.new(options.merge( + client = client_class.new(options.merge( region: 'region', endpoint: 'http://domain.region.amazonaws.com', stub_responses: true @@ -270,7 +284,7 @@ module Plugins end it 'skips clock skew correction when clock_skew is not available on the configuration' do - client = Sigv4Client.new(options.merge( + client = client_class.new(options.merge( clock_skew: nil, stub_responses: true )) @@ -280,7 +294,7 @@ module Plugins end it 'skips clock skew correction when correct_clock_skew is false' do - client = Sigv4Client.new(options.merge( + client = client_class.new(options.merge( clock_skew: clock_skew, correct_clock_skew: false, stub_responses: true @@ -292,7 +306,7 @@ module Plugins end it 'skips clock skew correction when clock skew is 0' do - client = Sigv4Client.new(options.merge( + client = client_class.new(options.merge( clock_skew: clock_skew, correct_clock_skew: true, stub_responses: true @@ -305,7 +319,7 @@ module Plugins end it 'applies clock skew correction when clock skew is non zero' do - client = Sigv4Client.new(options.merge( + client = client_class.new(options.merge( clock_skew: clock_skew, correct_clock_skew: true, stub_responses: true diff --git a/gems/aws-sdk-core/spec/aws/plugins/user_agent_spec.rb b/gems/aws-sdk-core/spec/aws/plugins/user_agent_spec.rb index 31bc3be6fa6..18063f600fb 100644 --- a/gems/aws-sdk-core/spec/aws/plugins/user_agent_spec.rb +++ b/gems/aws-sdk-core/spec/aws/plugins/user_agent_spec.rb @@ -5,8 +5,8 @@ module Aws module Plugins describe UserAgent do - let(:svc) { ApiHelper.sample_service } - let(:client) { svc::Client.new(stub_responses: true) } + let(:client_class) { ApiHelper.sample_client } + let(:client) { client_class.new(stub_responses: true) } def setup(given) metric_callable = nil diff --git a/gems/aws-sdk-core/spec/aws/request_callback_spec.rb b/gems/aws-sdk-core/spec/aws/request_callback_spec.rb index 2d2ccee0f33..4a359f9d834 100644 --- a/gems/aws-sdk-core/spec/aws/request_callback_spec.rb +++ b/gems/aws-sdk-core/spec/aws/request_callback_spec.rb @@ -9,7 +9,7 @@ module Client module Plugins describe RequestCallback do let(:client_class) do - ApiHelper.sample_service.const_get(:Client) + ApiHelper.sample_client end let(:callback) { Proc.new {|chunk, read, total| @call_count += 1} } diff --git a/gems/aws-sdk-core/spec/seahorse/client/base_spec.rb b/gems/aws-sdk-core/spec/seahorse/client/base_spec.rb index e02e76bafd8..79b9544bf8f 100644 --- a/gems/aws-sdk-core/spec/seahorse/client/base_spec.rb +++ b/gems/aws-sdk-core/spec/seahorse/client/base_spec.rb @@ -135,6 +135,7 @@ module Client expect(client.operation_names).to eq([:operation_name]) end + # TODO: team discussion it 'responds to each operation name' do client.operation_names.each do |operation_name| expect(client).to respond_to(operation_name) @@ -142,9 +143,9 @@ module Client end it 'builds and sends a request when it receives a request method' do - expect(client).to receive(:build_request). - with(:operation_name, { foo: 'bar' }). - and_return(request) + expect(client).to receive(:build_request) + .with(:operation_name, { foo: 'bar' }) + .and_return(request) expect(request).to receive(:send_request) client.operation_name(foo: 'bar') end From 573acb4ea467958e38c5e82ec57f8109ce96c793 Mon Sep 17 00:00:00 2001 From: Juli Tera Date: Wed, 23 Apr 2025 09:06:15 -0700 Subject: [PATCH 03/22] Update ApiHelper to allow specific module name for sample services --- gems/aws-sdk-core/spec/api_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gems/aws-sdk-core/spec/api_helper.rb b/gems/aws-sdk-core/spec/api_helper.rb index fdc3d13e587..122886a86fd 100644 --- a/gems/aws-sdk-core/spec/api_helper.rb +++ b/gems/aws-sdk-core/spec/api_helper.rb @@ -140,7 +140,7 @@ def sample_shapes def sample_service(options = {}) api_hash = options.fetch(:api, api(options)) api_hash['metadata'] ||= metadata(options) - module_name = next_sample_module_name + module_name = options[:module_name] || next_sample_module_name code = AwsSdkCodeGenerator::CodeBuilder.new( aws_sdk_core_lib_path: File.expand_path('../../lib/', __FILE__), service: AwsSdkCodeGenerator::Service.new( From b0dd772484d450b63230d6fd0821e3cb0fc82b23 Mon Sep 17 00:00:00 2001 From: Juli Tera Date: Wed, 23 Apr 2025 09:10:43 -0700 Subject: [PATCH 04/22] Fix remaining tests to be flexible --- gems/aws-sdk-core/spec/aws/client_spec.rb | 31 ++++++++++--------- .../spec/seahorse/client/base_spec.rb | 14 ++++----- 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/gems/aws-sdk-core/spec/aws/client_spec.rb b/gems/aws-sdk-core/spec/aws/client_spec.rb index f1bbb826960..bcf5b374c04 100644 --- a/gems/aws-sdk-core/spec/aws/client_spec.rb +++ b/gems/aws-sdk-core/spec/aws/client_spec.rb @@ -19,7 +19,7 @@ module Aws it 'requires a region' do expect { - client_class.new(access_key_id:'akid', secret_access_key: 'secret') + client_class.new(access_key_id:'akid', secret_access_key:'secret') }.to raise_error(Aws::Errors::MissingRegionError) end @@ -179,25 +179,28 @@ module Aws end context 'api requests' do - let(:client_class) { ApiHelper.sample_client(service: ApiHelper.sample_rest_xml) } - let(:client) { client_class.new(options) } - it 'allows api requests to be logged when stubbed' do + client_class = + ApiHelper.sample_client( + service: ApiHelper.sample_service(module_name: 'ApiRequestsToBeLogged') + ) + client = client_class.new(options.merge(validate_params: false)) expect(client.api_requests.empty?).to be(true) - client.create_bucket(bucket:'aws-sdk') + + client.example_operation(foo: 'bar') expect(client.api_requests.length).to eq(1) log_obj = client.api_requests[0] - expect(log_obj[:operation_name]).to eq(:create_bucket) - expect(log_obj[:params]).to eq({:bucket=>"aws-sdk"}) - expect(log_obj[:context].metadata).to eq( + expect(log_obj[:operation_name]).to eq(:example_operation) + expect(log_obj[:params]).to eq(foo: 'bar') + expect(log_obj[:context].metadata).to include( { - :gem_name=>"aws-sdk-sampleapi14", - :gem_version=>"1.0.0", - :response_target=>nil, - :original_params=>{:bucket=>"aws-sdk"}, - :request_id=>"stubbed-request-id", - :http_checksum=>{} + gem_name: 'aws-sdk-apirequeststobelogged', + gem_version: '1.0.0', + response_target: nil, + original_params: { foo: 'bar' }, + request_id: 'stubbed-request-id', + http_checksum: {} } ) end diff --git a/gems/aws-sdk-core/spec/seahorse/client/base_spec.rb b/gems/aws-sdk-core/spec/seahorse/client/base_spec.rb index 79b9544bf8f..ec5ad263bf8 100644 --- a/gems/aws-sdk-core/spec/seahorse/client/base_spec.rb +++ b/gems/aws-sdk-core/spec/seahorse/client/base_spec.rb @@ -117,25 +117,23 @@ module Client describe 'api operations' do let(:request) { double('request') } + let(:client) { ApiHelper.sample_client.new(region: 'us-west-2') } before(:each) do - api.add_operation(:operation_name, Model::Operation.new) allow(client).to receive(:build_request).and_return(request) - allow(request).to receive(:send_request) end it 'can return a list of valid operation names' do - expect(client.operation_names).to eq([:operation_name]) + expect(client.operation_names).to eq([:example_operation]) end it 'does not include async operation names' do op = Model::Operation.new op.async = true api.add_operation(:async_op, op) - expect(client.operation_names).to eq([:operation_name]) + expect(client.operation_names).to eq([:example_operation]) end - # TODO: team discussion it 'responds to each operation name' do client.operation_names.each do |operation_name| expect(client).to respond_to(operation_name) @@ -144,10 +142,10 @@ module Client it 'builds and sends a request when it receives a request method' do expect(client).to receive(:build_request) - .with(:operation_name, { foo: 'bar' }) + .with(:example_operation, { foo: 'bar' }) .and_return(request) expect(request).to receive(:send_request) - client.operation_name(foo: 'bar') + client.example_operation(foo: 'bar') end it 'passes block arguments to the request method' do @@ -156,7 +154,7 @@ module Client and_yield('chunk2'). and_yield('chunk3') chunks = [] - client.operation_name(foo: 'bar') do |chunk| + client.example_operation(foo: 'bar') do |chunk| chunks << chunk end expect(chunks).to eq(%w(chunk1 chunk2 chunk3)) From 87e5bdc7b69c1c49da15f62d794dd5a5b1791130 Mon Sep 17 00:00:00 2001 From: Juli Tera Date: Wed, 23 Apr 2025 09:41:38 -0700 Subject: [PATCH 05/22] Update BuildTools to handle async client rbs --- .../lib/aws-sdk-code-generator.rb | 1 + .../aws-sdk-code-generator/code_builder.rb | 52 ++++-- .../views/rbs/async_client_class.rb | 173 ++++++++++++++++++ .../views/rbs/client_class.rb | 16 +- .../templates/rbs/async_client_class.mustache | 26 +++ 5 files changed, 252 insertions(+), 16 deletions(-) create mode 100644 build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/async_client_class.rb create mode 100644 build_tools/aws-sdk-code-generator/templates/rbs/async_client_class.mustache diff --git a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator.rb b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator.rb index 23fc74b92f2..f724b685700 100644 --- a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator.rb +++ b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator.rb @@ -88,6 +88,7 @@ require_relative 'aws-sdk-code-generator/rbs/resource_batch_action' require_relative 'aws-sdk-code-generator/rbs/resource_client_request' require_relative 'aws-sdk-code-generator/rbs/waiter' +require_relative 'aws-sdk-code-generator/views/rbs/async_client_class' require_relative 'aws-sdk-code-generator/views/rbs/client_class' require_relative 'aws-sdk-code-generator/views/rbs/errors_module' require_relative 'aws-sdk-code-generator/views/rbs/resource_class' diff --git a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/code_builder.rb b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/code_builder.rb index e74344862b6..8e1526d0944 100644 --- a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/code_builder.rb +++ b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/code_builder.rb @@ -114,19 +114,11 @@ def rbs_files(options = {}) Enumerator.new do |y| prefix = options.fetch(:prefix, '') codegenerated_plugins = codegen_plugins(prefix) - client_class = Views::RBS::ClientClass.new( - service_name: @service.name, - codegenerated_plugins: codegenerated_plugins, - aws_sdk_core_lib_path: @aws_sdk_core_lib_path, - legacy_endpoints: @service.legacy_endpoints?, - signature_version: @service.signature_version, - api: @service.api, - waiters: @service.waiters, - protocol: @service.protocol, - add_plugins: @service.add_plugins, - remove_plugins: @service.remove_plugins, - ) - y.yield("#{prefix}/client.rbs", client_class.render) + client_class = client_class_rbs(codegenerated_plugins) + y.yield("#{prefix}/client.rbs", client_class) + if @service.protocol_settings['h2'] + y.yield("#{prefix}/async_client.rbs", async_client_class(codegenerated_plugins)) + end y.yield("#{prefix}/errors.rbs", Views::RBS::ErrorsModule.new( service: @service ).render) @@ -135,7 +127,7 @@ def rbs_files(options = {}) client_class: client_class, api: @service.api, resources: @service.resources, - paginators: @service.paginators, + paginators: @service.paginators ).render) y.yield("#{prefix}/waiters.rbs", Views::RBS::WaitersModule.new( service_name: @service.name, @@ -206,6 +198,22 @@ def client_class(codegenerated_plugins) ).render end + def client_class_rbs(codegenerated_plugins) + Views::RBS::ClientClass.new( + service_name: @service.name, + codegenerated_plugins: codegenerated_plugins, + aws_sdk_core_lib_path: @aws_sdk_core_lib_path, + legacy_endpoints: @service.legacy_endpoints?, + signature_version: @service.signature_version, + api: @service.api, + waiters: @service.waiters, + protocol: @service.protocol, + add_plugins: @service.add_plugins, + remove_plugins: @service.remove_plugins, + protocol_settings: @service.protocol_settings + ).render + end + def async_client_class(codegenerated_plugins) Views::AsyncClientClass.new( service_identifier: @service.identifier, @@ -226,6 +234,22 @@ def async_client_class(codegenerated_plugins) ).render end + def async_client_class_rbs(codegenerated_plugins) + Views::RBS::AsyncClientClass.new( + service_name: @service.name, + codegenerated_plugins: codegenerated_plugins, + aws_sdk_core_lib_path: @aws_sdk_core_lib_path, + legacy_endpoints: @service.legacy_endpoints?, + signature_version: @service.signature_version, + api: @service.api, + protocol: @service.protocol, + add_plugins: @service.add_plugins, + remove_plugins: @service.remove_plugins, + protocol_settings: @service.protocol_settings, + async_client: true + ).render + end + def errors_module Views::ErrorsModule.new(service: @service).render end diff --git a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/async_client_class.rb b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/async_client_class.rb new file mode 100644 index 00000000000..0b2a0601f71 --- /dev/null +++ b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/async_client_class.rb @@ -0,0 +1,173 @@ +# frozen_string_literal: true + +module AwsSdkCodeGenerator + module Views + module RBS + class AsyncClientClass < View + SKIP_MEMBERS = Set.new(%w[ + context + data + error + checksum_validated + on + on_success + ]) + + def initialize(options) + @options = options + @service_name = options.fetch(:service_name) + @api = options.fetch(:api) + @aws_sdk_core_lib_path = options.fetch(:aws_sdk_core_lib_path) + @plugins = PluginList.new(options) + @codegenerated_plugins = options.fetch(:codegenerated_plugins) + @protocol_settings = options.fetch(:protocol_settings, {}) + end + + # @return [String|nil] + def generated_src_warning + GENERATED_SRC_WARNING + end + + def service_name + @service_name + end + + def client_option(indent: ' ' * 20) + plugin_options = documented_plugin_options(@plugins) + documented_plugin_options(@codegenerated_plugins) + [ + '', + "#{indent} #{build_keyword_arguments(plugin_options).join(",\n#{indent} ")}", + indent + ].join("\n") + end + + def operations + shapes = @api['shapes'] + @api['operations'].map do |name, body| + next unless async_operation?(body) + + method_name = Underscore.underscore(name) + indent = ' ' * (12 + method_name.length) + input_shape_name = body.dig('input', 'shape') + arguments = nil + include_required = false + if input_shape_name + input_shape = shapes[input_shape_name] + builder = AwsSdkCodeGenerator::RBS::KeywordArgumentBuilder.new( + api: @api, + shape: input_shape, + newline: true + ) + arguments = builder.format(indent: indent) + include_required = input_shape['required']&.empty?&.! + end + block = ' ?{ (*untyped) -> void }' if AwsSdkCodeGenerator::Helper.operation_streaming?(body, @api) + if (output_shape_name = body.dig('output', 'shape')) + output_shape = shapes[output_shape_name] + data = AwsSdkCodeGenerator::RBS.to_type(body.fetch('output'), @api) + interface = "_#{name}ResponseSuccess" + else + output_shape = nil + data = '::Aws::EmptyStructure' + interface = '::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]' + end + returns_members = output_shape&.[]('members')&.inject([]) do |a, (member_name, member_ref)| + member_name_underscore = Underscore.underscore(member_name) + next a if SKIP_MEMBERS.include?(member_name_underscore) + + a << { + method_name: member_name_underscore, + returns: AwsSdkCodeGenerator::RBS.to_type(member_ref, @api) + } + end + + { + method_name: method_name, + signature: AwsSdkCodeGenerator::RBS::MethodSignature.new( + method_name: method_name, + overloads: [ + "(#{arguments})#{block} -> #{interface}", + "(#{include_required ? '' : '?'}Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options)#{block} -> #{interface}", + ] + ).signature, + interface: interface, + data: data, + returns_members: returns_members, + empty_structure: output_shape.nil? + } + end.compact + end + + private + + def async_operation?(operation) + es_output = AwsSdkCodeGenerator::Helper.eventstream_output?(operation, @api) + es_input = AwsSdkCodeGenerator::Helper.eventstream_input?(operation, @api) + return unless (es_input || es_output) && (h2 = @protocol_settings['h2']) + + case h2 + when 'eventstream' + es_input || es_output + when 'optional' + es_input && es_output + else + raise 'Unsupported' + end + end + + def documented_plugin_options(plugins) + i = 0 + plugins.map(&:options).flatten.select(&:documented?).sort_by do |opt| + [opt.required ? 'a' : 'b', opt.name, i += 1] + end + end + + def build_keyword_arguments(plugins) + buffer = plugins.map do |opt| + rbs_type = + opt.rbs_type || + ( + case opt.doc_type + when 'Boolean' then 'bool' + when nil then 'untyped' + else + opt.doc_type.to_s + end + ) + rbs_type.yield_self do |type| + [opt.name, "?#{opt.name}: #{type}", opt.doc_type] + end + end + # Find duplicated key + grouped = buffer.group_by { |name, _| name } + grouped.transform_values(&:count).find_all { |_, c| c > 1 }.each do |name,| + case name + when :endpoint, :endpoint_provider, :retry_backoff, :retry_limit, :retry_base_delay, :disable_s3_express_session_auth, :account_id, :account_id_endpoint_mode + # ok + else + warn("Duplicate client option in #{@service_name}: `#{grouped[name].map { |g| g.values_at(0, 2) }}`", uplevel: 0) + end + end + buffer.uniq! { |b| b[0] } + buffer.map! { |b| b[1] } + buffer.concat( + [ + '?connection_read_timeout: (Float | Integer)', + '?connection_timeout: (Float | Integer)', + '?enable_alpn: bool', + '?max_concurrent_streams: (Float | Integer)', + '?read_chunk_size: (Float | Integer)', + '?http_wire_trace: bool', + '?ssl_verify_peer: bool', + '?ssl_ca_bundle: String', + '?ssl_ca_directory: String', + '?ssl_ca_store: String', + '?raise_response_errors: bool' + ] + ) + buffer + end + end + end + end +end diff --git a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/client_class.rb b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/client_class.rb index ec3fb6c0c58..25840a68a09 100644 --- a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/client_class.rb +++ b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/client_class.rb @@ -21,6 +21,7 @@ def initialize(options) @plugins = PluginList.new(options) @codegenerated_plugins = options.fetch(:codegenerated_plugins) @waiters = AwsSdkCodeGenerator::RBS::Waiter.build_list(api: @api, waiters:options.fetch(:waiters)) + @protocol_settings = options.fetch(:protocol_settings, {}) end # @return [String|nil] @@ -44,6 +45,8 @@ def client_option(indent: ' ' * 20) def operations shapes = @api["shapes"] @api["operations"].map do |name, body| + next if async_operation?(body) + method_name = Underscore.underscore(name) indent = " " * (12 + method_name.length) input_shape_name = body.dig("input", "shape") @@ -69,11 +72,12 @@ def operations else output_shape = nil data = "::Aws::EmptyStructure" - interface = empty_interface = "::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]" + interface = "::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]" end returns_members = output_shape&.[]("members")&.inject([]) do |a, (member_name, member_ref)| member_name_underscore = Underscore.underscore(member_name) next a if SKIP_MEMBERS.include?(member_name_underscore) + a << { method_name: member_name_underscore, returns: AwsSdkCodeGenerator::RBS.to_type(member_ref, @api), @@ -93,7 +97,7 @@ def operations returns_members: returns_members, empty_structure: output_shape.nil? } - end + end.compact end def waiters? @@ -110,6 +114,14 @@ def waiters_others private + def async_operation?(operation) + es_output = AwsSdkCodeGenerator::Helper.eventstream_output?(operation, @api) + es_input = AwsSdkCodeGenerator::Helper.eventstream_input?(operation, @api) + # ensure that bidirectional eventstreaming operations are not added to client rbs + true if es_input && es_output || @protocol_settings['h2'] == 'eventstream' + + end + def documented_plugin_options(plugins) i = 0 plugins.map(&:options).flatten.select(&:documented?).sort_by do |opt| diff --git a/build_tools/aws-sdk-code-generator/templates/rbs/async_client_class.mustache b/build_tools/aws-sdk-code-generator/templates/rbs/async_client_class.mustache new file mode 100644 index 00000000000..fb522580f3b --- /dev/null +++ b/build_tools/aws-sdk-code-generator/templates/rbs/async_client_class.mustache @@ -0,0 +1,26 @@ +{{generated_src_warning}} +module Aws + module {{service_name}} + class AsyncClient < ::Seahorse::Client::AsyncBase + include ::Aws::AsyncClientStubs + + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/{{service_name}}/AsyncClient.html#initialize-instance_method + def self.new: ({{{client_option}}}) -> instance + | (?Hash[Symbol, untyped]) -> instance + + {{#operations}} + + {{^empty_structure}} + interface {{interface}} + include ::Seahorse::Client::_ResponseSuccess[{{data}}] + {{#returns_members}} + def {{method_name}}: () -> {{{returns}}} + {{/returns_members}} + end + {{/empty_structure}} + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/{{service_name}}/AsyncClient.html#{{method_name}}-instance_method + {{{signature}}} + {{/operations}} + end + end +end \ No newline at end of file From a455fc609c70184bdf90a115937916cfd055642c Mon Sep 17 00:00:00 2001 From: Juli Tera Date: Wed, 23 Apr 2025 09:42:10 -0700 Subject: [PATCH 06/22] Update rbs files in core --- .../aws-sdk-core/plugins/stub_responses.rb | 1 - .../sig/aws-sdk-core/async_client_stubs.rbs | 21 +++++++++++++++++++ .../sig/seahorse/client/async_base.rbs | 18 ++++++++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 gems/aws-sdk-core/sig/aws-sdk-core/async_client_stubs.rbs create mode 100644 gems/aws-sdk-core/sig/seahorse/client/async_base.rbs diff --git a/gems/aws-sdk-core/lib/aws-sdk-core/plugins/stub_responses.rb b/gems/aws-sdk-core/lib/aws-sdk-core/plugins/stub_responses.rb index e2e17ef2e1a..ff299129831 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-core/plugins/stub_responses.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-core/plugins/stub_responses.rb @@ -8,7 +8,6 @@ class StubResponses < Seahorse::Client::Plugin option(:stub_responses, default: false, doc_type: 'Boolean', - rbs_type: 'untyped', docstring: <<-DOCS) Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify diff --git a/gems/aws-sdk-core/sig/aws-sdk-core/async_client_stubs.rbs b/gems/aws-sdk-core/sig/aws-sdk-core/async_client_stubs.rbs new file mode 100644 index 00000000000..9bc36dbf705 --- /dev/null +++ b/gems/aws-sdk-core/sig/aws-sdk-core/async_client_stubs.rbs @@ -0,0 +1,21 @@ +module Aws + module AsyncClientStubs + include ClientStubs + + def send_events: () -> untyped + + class StubsStream + def initialize: () -> void + + attr_accessor send_events: untyped + + attr_reader state: Symbol + + def data: (untyped bytes, ?::Hash[untyped, untyped] options) -> untyped + + def closed?: () -> bool + + def close: () -> void + end + end +end diff --git a/gems/aws-sdk-core/sig/seahorse/client/async_base.rbs b/gems/aws-sdk-core/sig/seahorse/client/async_base.rbs new file mode 100644 index 00000000000..0a3bd9abaa6 --- /dev/null +++ b/gems/aws-sdk-core/sig/seahorse/client/async_base.rbs @@ -0,0 +1,18 @@ +module Seahorse + module Client + class AsyncBase < Base + + def self.new: (?untyped options) -> instance + + attr_reader connection: untyped + + def operation_names: () -> Array[Symbol] + + def close_connection: () -> Symbol + + def new_connection: () -> untyped + + def connection_errors: () -> Array[untyped] + end + end +end From 415ced83f83472f7e4a958ff121fcbcd430a9fa5 Mon Sep 17 00:00:00 2001 From: Juli Tera Date: Wed, 23 Apr 2025 09:51:16 -0700 Subject: [PATCH 07/22] Fix specs --- .../lib/aws-sdk-code-generator/code_builder.rb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/code_builder.rb b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/code_builder.rb index 8e1526d0944..0c0c2075e52 100644 --- a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/code_builder.rb +++ b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/code_builder.rb @@ -115,9 +115,12 @@ def rbs_files(options = {}) prefix = options.fetch(:prefix, '') codegenerated_plugins = codegen_plugins(prefix) client_class = client_class_rbs(codegenerated_plugins) - y.yield("#{prefix}/client.rbs", client_class) + y.yield("#{prefix}/client.rbs", client_class.render) if @service.protocol_settings['h2'] - y.yield("#{prefix}/async_client.rbs", async_client_class(codegenerated_plugins)) + y.yield( + "#{prefix}/async_client.rbs", + async_client_class(codegenerated_plugins).render + ) end y.yield("#{prefix}/errors.rbs", Views::RBS::ErrorsModule.new( service: @service @@ -211,7 +214,7 @@ def client_class_rbs(codegenerated_plugins) add_plugins: @service.add_plugins, remove_plugins: @service.remove_plugins, protocol_settings: @service.protocol_settings - ).render + ) end def async_client_class(codegenerated_plugins) @@ -247,7 +250,7 @@ def async_client_class_rbs(codegenerated_plugins) remove_plugins: @service.remove_plugins, protocol_settings: @service.protocol_settings, async_client: true - ).render + ) end def errors_module From f1a79c13583075da8b4e6ee1ba00c2cd475ba930 Mon Sep 17 00:00:00 2001 From: Juli Tera Date: Thu, 24 Apr 2025 09:19:46 -0700 Subject: [PATCH 08/22] Clean up specs in core --- .../aws-sdk-core/plugins/stub_responses.rb | 1 + gems/aws-sdk-core/spec/api_helper.rb | 34 +--------------- .../spec/aws/param_validator_spec.rb | 17 +++++++- .../spec/aws/plugins/signature_v4_spec.rb | 15 ++++--- .../spec/seahorse/client/base_spec.rb | 39 ++----------------- 5 files changed, 29 insertions(+), 77 deletions(-) diff --git a/gems/aws-sdk-core/lib/aws-sdk-core/plugins/stub_responses.rb b/gems/aws-sdk-core/lib/aws-sdk-core/plugins/stub_responses.rb index ff299129831..883359dfffb 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-core/plugins/stub_responses.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-core/plugins/stub_responses.rb @@ -8,6 +8,7 @@ class StubResponses < Seahorse::Client::Plugin option(:stub_responses, default: false, doc_type: 'Boolean', + rbs_type: 'bool', docstring: <<-DOCS) Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify diff --git a/gems/aws-sdk-core/spec/api_helper.rb b/gems/aws-sdk-core/spec/api_helper.rb index 122886a86fd..bb3e6b15186 100644 --- a/gems/aws-sdk-core/spec/api_helper.rb +++ b/gems/aws-sdk-core/spec/api_helper.rb @@ -77,7 +77,6 @@ def sample_shapes 'StringWithConsecutiveSpaces' => { 'shape' => 'StringShape' }, 'StringWithLF' => { 'shape' => 'StringShape' }, 'Timestamp' => { 'shape' => 'TimestampShape' }, - 'EventStream' => { 'shape' => 'EventStream' }, 'DocumentType' => { 'shape' => 'DocumentShape' } } }, @@ -88,22 +87,6 @@ def sample_shapes 'StreamingBlob' => { 'shape' => 'BlobShape', 'streaming' => 'true' } } }, - 'EventStream' => { - 'type' => 'structure', - 'members' => { - 'EventA' => { - 'shape' => 'EventA' - } - }, - 'eventstream' => true - }, - 'EventA' => { - 'type' => 'structure', - 'members' => { - 'MemberA' => { 'shape' => 'StringShape' } - }, - 'event' => true - }, 'StructureList' => { 'type' => 'list', 'member' => { 'shape' => 'StructureShape' } @@ -167,8 +150,7 @@ def sample_service(options = {}) def sample_client(options = {}) service = options[:service] || sample_service - client_class = service.const_get(:Client) - define_operation_methods(client_class) + service.const_get(:Client) end def sample_rest_service(options) @@ -189,20 +171,6 @@ def api(options) } end - def define_operation_methods(client_class) - operations_module = Module.new - client_class.api.operation_names.each do |method_name| - operations_module.send(:define_method, method_name) do |*args, &block| - params = args[0] || {} - options = args[1] || {} - build_request(method_name, params).send_request(options, &block) - end - end - client_class.include(operations_module) - client_class - end - - def metadata(options) { 'endpointPrefix' => 'svc', diff --git a/gems/aws-sdk-core/spec/aws/param_validator_spec.rb b/gems/aws-sdk-core/spec/aws/param_validator_spec.rb index 29b842da5c5..348118448c0 100644 --- a/gems/aws-sdk-core/spec/aws/param_validator_spec.rb +++ b/gems/aws-sdk-core/spec/aws/param_validator_spec.rb @@ -82,7 +82,22 @@ def match_errors(error, expected_errors) end it 'raises an error when providing eventstream at input' do - validate({ event_stream: [].each }, 'instead of providing value directly for eventstreams at input, expected to use #signal events per stream') + shapes['StructureShape']['members'] = { 'EventStream' => { 'shape' => 'EventStream' } } + shapes['EventStream'] = { + 'type' => 'structure', + 'members' => { 'EventA' => { 'shape' => 'EventA' } }, + 'eventstream' => true + } + shapes['EventA'] = { + 'type' => 'structure', + 'members' => { 'MemberA' => { 'shape' => 'StringShape' } }, + 'event' => true + } + validate( + { event_stream: [].each }, + 'instead of providing value directly for eventstreams at input, ' \ + 'expected to use #signal events per stream' + ) end it 'accepts no eventstream input even when marked required' do diff --git a/gems/aws-sdk-core/spec/aws/plugins/signature_v4_spec.rb b/gems/aws-sdk-core/spec/aws/plugins/signature_v4_spec.rb index c4dcb9c30c7..6f6a01bff7f 100644 --- a/gems/aws-sdk-core/spec/aws/plugins/signature_v4_spec.rb +++ b/gems/aws-sdk-core/spec/aws/plugins/signature_v4_spec.rb @@ -42,10 +42,12 @@ module Plugins .with('other-region', 'svc-name') .and_return('override-service') - client = client_class.new(options.merge( - region: 'other-region', - endpoint: 'https://svc-name.amazonaws.com' - )) + client = client_class.new( + options.merge( + region: 'other-region', + endpoint: 'https://svc-name.amazonaws.com' + ) + ) expect(client.config.sigv4_name).to eq('override-service') end @@ -284,10 +286,7 @@ module Plugins end it 'skips clock skew correction when clock_skew is not available on the configuration' do - client = client_class.new(options.merge( - clock_skew: nil, - stub_responses: true - )) + client = client_class.new(options.merge(clock_skew: nil, stub_responses: true)) resp = client.example_operation expect(resp.context.http_request.headers['X-Amz-Date']). to eq now.utc.strftime("%Y%m%dT%H%M%SZ") diff --git a/gems/aws-sdk-core/spec/seahorse/client/base_spec.rb b/gems/aws-sdk-core/spec/seahorse/client/base_spec.rb index ec5ad263bf8..f500163c256 100644 --- a/gems/aws-sdk-core/spec/seahorse/client/base_spec.rb +++ b/gems/aws-sdk-core/spec/seahorse/client/base_spec.rb @@ -114,52 +114,21 @@ module Client end - describe 'api operations' do - - let(:request) { double('request') } - let(:client) { ApiHelper.sample_client.new(region: 'us-west-2') } - + describe '#operation_names' do before(:each) do - allow(client).to receive(:build_request).and_return(request) + api.add_operation(:operation_name, Model::Operation.new) end it 'can return a list of valid operation names' do - expect(client.operation_names).to eq([:example_operation]) + expect(client.operation_names).to eq([:operation_name]) end it 'does not include async operation names' do op = Model::Operation.new op.async = true api.add_operation(:async_op, op) - expect(client.operation_names).to eq([:example_operation]) - end - - it 'responds to each operation name' do - client.operation_names.each do |operation_name| - expect(client).to respond_to(operation_name) - end + expect(client.operation_names).to eq([:operation_name]) end - - it 'builds and sends a request when it receives a request method' do - expect(client).to receive(:build_request) - .with(:example_operation, { foo: 'bar' }) - .and_return(request) - expect(request).to receive(:send_request) - client.example_operation(foo: 'bar') - end - - it 'passes block arguments to the request method' do - allow(request).to receive(:send_request). - and_yield('chunk1'). - and_yield('chunk2'). - and_yield('chunk3') - chunks = [] - client.example_operation(foo: 'bar') do |chunk| - chunks << chunk - end - expect(chunks).to eq(%w(chunk1 chunk2 chunk3)) - end - end describe '.api' do From c94881fe1c62cf26469ec69836c0a4e9bb287ea2 Mon Sep 17 00:00:00 2001 From: Juli Tera Date: Thu, 24 Apr 2025 09:20:38 -0700 Subject: [PATCH 09/22] Add client spec to build tools --- .../spec/fixtures/interfaces/sample/api.json | 8 +++- .../spec/interfaces/client/client_spec.rb | 46 +++++++++++++++++++ 2 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 build_tools/aws-sdk-code-generator/spec/interfaces/client/client_spec.rb diff --git a/build_tools/aws-sdk-code-generator/spec/fixtures/interfaces/sample/api.json b/build_tools/aws-sdk-code-generator/spec/fixtures/interfaces/sample/api.json index 78145db902c..54be9ba8e74 100644 --- a/build_tools/aws-sdk-code-generator/spec/fixtures/interfaces/sample/api.json +++ b/build_tools/aws-sdk-code-generator/spec/fixtures/interfaces/sample/api.json @@ -244,8 +244,12 @@ "GetBandResponse": { "type": "structure", "members": { - "Band" : { "shape": "Band" } - } + "Band" : { + "shape": "Band", + "streaming": true + } + }, + "payload": "Band" }, "GetTicketRequest": { "type": "structure", diff --git a/build_tools/aws-sdk-code-generator/spec/interfaces/client/client_spec.rb b/build_tools/aws-sdk-code-generator/spec/interfaces/client/client_spec.rb new file mode 100644 index 00000000000..15294c17947 --- /dev/null +++ b/build_tools/aws-sdk-code-generator/spec/interfaces/client/client_spec.rb @@ -0,0 +1,46 @@ +# frozen_string_literal: true + +require_relative '../../spec_helper' + +describe 'Client Interface:' do + describe 'Support APIs operations' do + before(:all) do + SpecHelper.generate_service(['Sample'], multiple_files: false) + end + + let(:client) { Sample::Client.new(region: 'us-west-2', stub_responses: true) } + let(:request) { double('request') } + + before(:each) do + allow(client).to receive(:build_request).and_return(request) + end + + it 'responds to each operation name' do + client.operation_names.each do |operation_name| + expect(client).to respond_to(operation_name) + end + end + + it 'builds and sends a request when it receives a request method' do + expect(client) + .to receive(:build_request) + .with(:create_band, { band_name: 'ruby' }) + .and_return(request) + expect(request).to receive(:send_request) + + client.create_band(band_name: 'ruby') + end + + it 'passes block arguments to the request method' do + expect(request) + .to receive(:send_request) + .and_yield('foo') + .and_yield('bar') + .and_yield('baz') + + chunks = [] + client.get_band(band_name: 'ruby') { |c| chunks << c } + expect(chunks).to eq(%w(foo bar baz)) + end + end +end From b0ea492580695d7ec5099b044763ff4484afcde1 Mon Sep 17 00:00:00 2001 From: Juli Tera Date: Thu, 24 Apr 2025 09:26:53 -0700 Subject: [PATCH 10/22] Add alignment fixes --- gems/aws-sdk-core/spec/aws/client_spec.rb | 12 +++--------- .../spec/aws/plugins/signature_v4_spec.rb | 5 ++--- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/gems/aws-sdk-core/spec/aws/client_spec.rb b/gems/aws-sdk-core/spec/aws/client_spec.rb index bcf5b374c04..ab0e7d135fd 100644 --- a/gems/aws-sdk-core/spec/aws/client_spec.rb +++ b/gems/aws-sdk-core/spec/aws/client_spec.rb @@ -19,19 +19,14 @@ module Aws it 'requires a region' do expect { - client_class.new(access_key_id:'akid', secret_access_key:'secret') + client_class.new(access_key_id:'akid', secret_access_key: 'secret') }.to raise_error(Aws::Errors::MissingRegionError) end context 'when requests are signed' do - let(:sample_service) do - ApiHelper.sample_service(metadata: { 'signatureVersion' => 'v4' }) - end - - let(:client_class) do - ApiHelper.sample_client(service: sample_service) - end + let(:sample_service) { ApiHelper.sample_service(metadata: { 'signatureVersion' => 'v4' }) } + let(:client_class) { ApiHelper.sample_client(service: sample_service) } it 'raises an error when credentials are nil' do creds = Credentials.new(nil, nil) @@ -186,7 +181,6 @@ module Aws ) client = client_class.new(options.merge(validate_params: false)) expect(client.api_requests.empty?).to be(true) - client.example_operation(foo: 'bar') expect(client.api_requests.length).to eq(1) diff --git a/gems/aws-sdk-core/spec/aws/plugins/signature_v4_spec.rb b/gems/aws-sdk-core/spec/aws/plugins/signature_v4_spec.rb index 6f6a01bff7f..fd068f63432 100644 --- a/gems/aws-sdk-core/spec/aws/plugins/signature_v4_spec.rb +++ b/gems/aws-sdk-core/spec/aws/plugins/signature_v4_spec.rb @@ -112,7 +112,7 @@ module Plugins ) client_opts = { region: 'eu-west-1', - endpoint: 'http://uniqueness.svc.us-west-2.amazonaws.com' + endpoint: 'http://uniqueness.svc.us-west-2.amazonaws.com', } client = ApiHelper.sample_client(service: svc).new(options.merge(client_opts)) expect(client.config.sigv4_name).to eq('signing-name') @@ -133,8 +133,7 @@ module Plugins .with('us-east-1', 'api.service', nil) .and_return('us-east-1') - client = ApiHelper.sample_client(service: svc) - .new(options.merge(region: 'fips-us-east-1')) + client = ApiHelper.sample_client(service: svc).new(options.merge(region: 'fips-us-east-1')) expect(client.config.sigv4_name).to eq('signing-name') expect(client.config.sigv4_region).to eq('us-east-1') end From 370eacae0aa1f737516477dadbb514b6a569f078 Mon Sep 17 00:00:00 2001 From: Juli Tera Date: Thu, 24 Apr 2025 10:01:54 -0700 Subject: [PATCH 11/22] Fix rendering --- .../lib/aws-sdk-code-generator/code_builder.rb | 2 +- .../lib/aws-sdk-code-generator/views/rbs/async_client_class.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/code_builder.rb b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/code_builder.rb index 0c0c2075e52..90f2f23d541 100644 --- a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/code_builder.rb +++ b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/code_builder.rb @@ -119,7 +119,7 @@ def rbs_files(options = {}) if @service.protocol_settings['h2'] y.yield( "#{prefix}/async_client.rbs", - async_client_class(codegenerated_plugins).render + async_client_class_rbs(codegenerated_plugins).render ) end y.yield("#{prefix}/errors.rbs", Views::RBS::ErrorsModule.new( diff --git a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/async_client_class.rb b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/async_client_class.rb index 0b2a0601f71..f46934600b2 100644 --- a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/async_client_class.rb +++ b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/async_client_class.rb @@ -111,7 +111,7 @@ def async_operation?(operation) when 'optional' es_input && es_output else - raise 'Unsupported' + raise 'Unsupported protocol setting' end end From 6ce7018bba12fc14e2bb75aab53999382e4ecc8c Mon Sep 17 00:00:00 2001 From: Juli Tera Date: Thu, 24 Apr 2025 13:20:07 -0700 Subject: [PATCH 12/22] Fix eventstream example docs --- .../client_response_structure_example.rb | 4 +- .../eventstream_example.rb | 262 +++++++++--------- 2 files changed, 136 insertions(+), 130 deletions(-) diff --git a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/client_response_structure_example.rb b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/client_response_structure_example.rb index 7abb90d1c49..036be6b8674 100644 --- a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/client_response_structure_example.rb +++ b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/client_response_structure_example.rb @@ -30,7 +30,7 @@ def structure(ref, context, visited) event_ctx = shape['members'].each.inject([]) do |ctx, (member_name, member_ref)| event_type = Underscore.underscore(member_name).to_sym event_types << event_type - ctx << "For #{event_type.inspect} event available at #on_#{event_type}_event callback"\ + ctx << "# For #{event_type.inspect} event available at #on_#{event_type}_event callback"\ ' and response eventstream enumerator:' event_entry = entry(member_ref, 'event', Set.new).join("\n ") ctx << (event_entry.empty? ? ' #=> EmptyStruct' : event_entry + "\n") @@ -38,7 +38,7 @@ def structure(ref, context, visited) # Add eventstream entry event_ctx.unshift("#{context}.event_types #=> #{event_types.inspect}\n") event_ctx.unshift("#{context} #=> Enumerator") - event_ctx.unshift("All events are available at #{context}:") + event_ctx.unshift("# All events are available at #{context}:") return event_ctx elsif shape['members'] shape['members'].each_pair do |member_name, member_ref| diff --git a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/eventstream_example.rb b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/eventstream_example.rb index 0406dac904a..6f7c9674585 100644 --- a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/eventstream_example.rb +++ b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/eventstream_example.rb @@ -2,7 +2,6 @@ module AwsSdkCodeGenerator class EventStreamExample - def initialize(options = {}) @api = options.fetch(:api) @method_name = options.fetch(:method_name) @@ -36,125 +35,130 @@ def format end def bi_directional_format - <<-EXAMPLE.strip -# @example Bi-directional EventStream Operation Example -# -# You can signal input events after the initial request is established. Events -# will be sent to the stream immediately once the stream connection is -# established successfully. -# -# To signal events, you can call the #signal methods from an #{@input_eventstream} -# object. You must signal events before calling #wait or #join! on the async response. -# -# input_stream = #{@input_eventstream}.new -# -# async_resp = #{@receiver}.#{@method_name}( -# # params input -# input_event_stream_handler: input_stream) do |out_stream| -# -# # register callbacks for events -#{event_entry(:output, 'out_stream', 2)} -# -# end -# # => Aws::Seahorse::Client::AsyncResponse -# -# # signal events -#{event_entry(:input, 'input_stream')} -# -# # make sure to signal :end_stream at the end -# input_stream.signal_end_stream -# -# # wait until stream is closed before finalizing the sync response -# resp = async_resp.wait -# # Or close the stream and finalize sync response immediately -# # resp = async_resp.join! -# -# You can also provide an #{@output_eventstream} object to register callbacks -# before initializing the request instead of processing from the request block. -# -# output_stream = #{@output_eventstream}.new -# # register callbacks for output events -#{event_entry(:output, 'output_stream')} -#{error_event_entry('output_stream')} -# -# async_resp = #{@receiver}.#{@method_name} ( -# # params input -# input_event_stream_handler: input_stream -# output_event_stream_handler: output_stream -# ) -# -# resp = async_resp.join! -# -# You can also iterate through events after the response is complete. -# -# Events are available at #{@resp_var}.#{@output_eventstream_member} # => Enumerator + <<~EXAMPLE.strip + # @example Bi-directional EventStream Operation Example + # # You can signal input events after the initial request is established. Events + # # will be sent to the stream immediately once the stream connection is + # # established successfully. + # + # # To signal events, you can call the #signal methods from an + # # #{@input_eventstream} object. + # # You must signal events before calling #wait or #join! on the async response. + # input_stream = #{@input_eventstream}.new + # + # async_resp = #{@receiver}.#{@method_name}( + # # params input + # input_event_stream_handler: input_stream + # ) do |out_stream| + # # register callbacks for events + #{event_entry(:output, 'out_stream', 2)} + # end + # # => Aws::Seahorse::Client::AsyncResponse + # + # # signal events + #{event_entry(:input, 'input_stream')} + # + # # make sure to signal :end_stream at the end + # input_stream.signal_end_stream + # + # # wait until stream is closed before finalizing the sync response + # resp = async_resp.wait + # + # # Or close the stream and finalize sync response immediately + # resp = async_resp.join! + # + # # You can also provide an #{@output_eventstream} object + # # to register callbacks before initializing the request instead of processing + # # from the request block. + # output_stream = #{@output_eventstream}.new + # + # # register callbacks for output events + #{event_entry(:output, 'output_stream')} + #{error_event_entry('output_stream')} + # + # async_resp = #{@receiver}.#{@method_name}( + # # params input + # input_event_stream_handler: input_stream, + # output_event_stream_handler: output_stream + # ) + # resp = async_resp.join! + # + # # You can also iterate through events after the response is complete. + # # Events are available at + # #{@resp_var}.#{@output_eventstream_member} # => Enumerator EXAMPLE end def output_format - <<-EXAMPLE.strip -# @example EventStream Operation Example -# -# You can process the event once it arrives immediately, or wait until the -# full response is complete and iterate through the eventstream enumerator. -# -# To interact with event immediately, you need to register ##{@method_name} -# with callbacks. Callbacks can be registered for specific events or for all -# events, including error events. -# -# Callbacks can be passed into the `:event_stream_handler` option or within a -# block statement attached to the ##{@method_name} call directly. Hybrid -# pattern of both is also supported. -# -# `:event_stream_handler` option takes in either a Proc object or -# #{@output_eventstream} object. -# -# Usage pattern a): Callbacks with a block attached to ##{@method_name} -# Example for registering callbacks for all event types and an error event -# -# #{@receiver}.#{@method_name}( # params input# ) do |stream| -#{error_event_entry('stream', 2)} -# -# stream.on_event do |event| -# # process all events arrive -# puts event.event_type -# ... -# end -# -# end -# -# Usage pattern b): Pass in `:event_stream_handler` for ##{@method_name} -# -# 1) Create a #{@output_eventstream} object -# Example for registering callbacks with specific events -# -# handler = #{@output_eventstream}.new -#{event_entry(:output, 'handler', 2)} -# -# #{@receiver}.#{@method_name}( # params input #, event_stream_handler: handler) -# -# 2) Use a Ruby Proc object -# Example for registering callbacks with specific events -# -# handler = Proc.new do |stream| -#{event_entry(:output, 'stream', 2)} -# end -# -# #{@receiver}.#{@method_name}( # params input #, event_stream_handler: handler) -# -# Usage pattern c): Hybrid pattern of a) and b) -# -# handler = #{@output_eventstream}.new -#{event_entry(:output, 'handler', 2)} -# -# #{@receiver}.#{@method_name}( # params input #, event_stream_handler: handler) do |stream| -#{error_event_entry('stream', 2)} -# end -# -# You can also iterate through events after the response complete. -# -# Events are available at #{@resp_var}.#{@output_eventstream_member} # => Enumerator -# For parameter input example, please refer to following request syntax + <<~EXAMPLE.strip + # @example EventStream Operation Example + # + # # You can process the event once it arrives immediately, or wait until the + # # full response is complete and iterate through the eventstream enumerator. + # + # # To interact with event immediately, you need to register #{@method_name} + # # with callbacks. Callbacks can be registered for specific events or for all + # # events, including error events. + # + # # Callbacks can be passed into the `:event_stream_handler` option or within a + # # block statement attached to the ##{@method_name} call directly. Hybrid + # # pattern of both is also supported. + # + # # `:event_stream_handler` option takes in either a Proc object or + # # #{@output_eventstream} object. + # + # # Usage pattern a): Callbacks with a block attached to ##{@method_name} + # # Example for registering callbacks for all event types and an error event + # #{@receiver}.#{@method_name}( + # # params input + # ) do |stream| + #{error_event_entry('stream', 2)} + # + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # # ... + # end + # end + # + # # Usage pattern b): Pass in `:event_stream_handler` for ##{@method_name} + # # 1) Create a #{@output_eventstream} object + # # Example for registering callbacks with specific events + # + # handler = #{@output_eventstream}.new + #{event_entry(:output, 'handler')} + # + # #{@receiver}.#{@method_name}( + # # params inputs + # event_stream_handler: handler + # ) + # + # # 2) Use a Ruby Proc object + # # Example for registering callbacks with specific events + # handler = Proc.new do |stream| + #{event_entry(:output, 'stream', 2)} + # end + # + # #{@receiver}.#{@method_name}( + # # params inputs + # event_stream_handler: handler + # ) + # + # # Usage pattern c): Hybrid pattern of a) and b) + # handler = #{@output_eventstream}.new + #{event_entry(:output, 'handler')} + # + # #{@receiver}.#{@method_name}( + # # params input + # event_stream_handler: handler + # ) do |stream| + #{error_event_entry('stream', 2)} + # end + # + # # You can also iterate through events after the response complete. + # # Events are available at + # #{@resp_var}.#{@output_eventstream_member} # => Enumerator + # # For parameter input example, please refer to following request syntax. EXAMPLE end @@ -167,14 +171,14 @@ def event_entry(type, ctx, indent = 0) def error_event_entry(ctx, indent = 0) entries = [] - entries << "# #{' ' * indent}#{ctx}.on_error_event do |event|" - entries << "# #{' ' * indent} # catch unmodeled error event in the stream" - entries << "# #{' ' * indent} raise event" - entries << "# #{' ' * indent} # => Aws::Errors::EventError" - entries << "# #{' ' * indent} # event.event_type => :error" - entries << "# #{' ' * indent} # event.error_code => String" - entries << "# #{' ' * indent} # event.error_message => String" - entries << "# #{' ' * indent}end" + entries << "# #{' ' * indent}#{ctx}.on_error_event do |event|" + entries << "# #{' ' * indent}# catch unmodeled error event in the stream" + entries << "# #{' ' * indent}raise event" + entries << "# #{' ' * indent}# => Aws::Errors::EventError" + entries << "# #{' ' * indent}# event.event_type => :error" + entries << "# #{' ' * indent}# event.error_code => String" + entries << "# #{' ' * indent}# event.error_message => String" + entries << "# #{' ' * indent}end" entries.join("\n") end @@ -182,7 +186,9 @@ def input_event_entries(ctx, indent = 0) @api['shapes'][@input_eventstream_shape]['members'].each.inject([]) do |entries, (name, _)| event_type = Underscore.underscore(name) # TODO, place holder values - entries << "# #{' ' * indent}#{ctx}.signal_#{event_type}_event( ... )" + entries << "# #{' ' * indent}#{ctx}.signal_#{event_type}_event(" + entries << "# #{' ' * indent}# ..." + entries << "# #{' ' * indent})" entries end.join("\n") end @@ -190,9 +196,9 @@ def input_event_entries(ctx, indent = 0) def output_event_entries(ctx, indent = 0) @api['shapes'][@output_eventstream_shape]['members'].keys.each.inject([]) do |entry, name| event_type = Underscore.underscore(name) - entry << "# #{' ' * indent}#{ctx}.on_#{event_type}_event do |event|" - entry << "# #{' ' * indent}event # => #{@module_name}::Types::#{name}" - entry << "# #{' ' * indent}end" + entry << "# #{' ' * indent}#{ctx}.on_#{event_type}_event do |event|" + entry << "# #{' ' * indent}event # => #{@module_name}::Types::#{name}" + entry << "# #{' ' * indent}end" end.join("\n") end From e4fa830d26f9cb50b89676eeaa1c04e4fa7ef494 Mon Sep 17 00:00:00 2001 From: Juli Tera Date: Thu, 24 Apr 2025 13:21:06 -0700 Subject: [PATCH 13/22] Fix async client config docs --- .../templates/async_client_class.mustache | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/build_tools/aws-sdk-code-generator/templates/async_client_class.mustache b/build_tools/aws-sdk-code-generator/templates/async_client_class.mustache index 42567024795..7f7c322bfd8 100644 --- a/build_tools/aws-sdk-code-generator/templates/async_client_class.mustache +++ b/build_tools/aws-sdk-code-generator/templates/async_client_class.mustache @@ -13,6 +13,18 @@ require '{{.}}' Aws::Plugins::GlobalConfiguration.add_identifier(:{{service_identifier}}) module {{module_name}} + # An API async client for {{service_name}}. To construct an async client, you need to configure a `:region` and `:credentials`. + # + # async_client = {{module_name}}::AsyncClient.new( + # region: region_name, + # credentials: credentials, + # # ... + # ) + # + # For details on configuring region and credentials see + # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html). + # + # See {#initialize} for a full list of supported configuration options. class AsyncClient < Seahorse::Client::AsyncBase include Aws::AsyncClientStubs @@ -26,6 +38,13 @@ module {{module_name}} {{/plugin_class_names}} {{#client_constructor}} + # @overload initialize(options) + # @param [Hash] options + # + # @option options [Array] :plugins ([]]) + # A list of plugins to apply to the client. Each plugin is either a + # class name or an instance of a plugin class. + # {{>documentation}} {{/client_constructor}} def initialize(*args) From 0981cb4a7573912120a20047ef07316ad0c1804b Mon Sep 17 00:00:00 2001 From: Juli Tera Date: Thu, 24 Apr 2025 13:24:22 -0700 Subject: [PATCH 14/22] Remove .rb out of plugin requires --- .../lib/aws-sdk-code-generator/views/async_client_class.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/async_client_class.rb b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/async_client_class.rb index b988e9ac179..312a3c8b565 100644 --- a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/async_client_class.rb +++ b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/async_client_class.rb @@ -63,7 +63,7 @@ def generated_src_warning # @return [Array] def plugin_requires - @plugins.map(&:require_path) + @plugins.map(&:require_path).map { |p| p.chomp('.rb') } end # @return [Array] From 385c38fc9d4b5553ad50622129beeec04a077b49 Mon Sep 17 00:00:00 2001 From: Juli Tera Date: Thu, 24 Apr 2025 14:08:37 -0700 Subject: [PATCH 15/22] Example codegenerated service --- .../aws-sdk-bedrockruntime/async_client.rb | 246 +++---- .../lib/aws-sdk-bedrockruntime/client.rb | 640 +++++++++--------- .../sig/async_client.rbs | 81 +++ gems/aws-sdk-bedrockruntime/sig/client.rbs | 13 +- gems/aws-sdk-bedrockruntime/sig/resource.rbs | 2 +- gems/aws-sdk-s3/lib/aws-sdk-s3/client.rb | 226 ++++--- gems/aws-sdk-s3/sig/client.rbs | 2 +- gems/aws-sdk-s3/sig/resource.rbs | 2 +- 8 files changed, 660 insertions(+), 552 deletions(-) create mode 100644 gems/aws-sdk-bedrockruntime/sig/async_client.rbs diff --git a/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/async_client.rb b/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/async_client.rb index a502b5f872b..28510f8dacb 100644 --- a/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/async_client.rb +++ b/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/async_client.rb @@ -10,32 +10,44 @@ begin require 'http/2' rescue LoadError; end -require 'aws-sdk-core/plugins/credentials_configuration.rb' -require 'aws-sdk-core/plugins/logging.rb' -require 'aws-sdk-core/plugins/param_converter.rb' -require 'aws-sdk-core/plugins/param_validator.rb' -require 'aws-sdk-core/plugins/user_agent.rb' -require 'aws-sdk-core/plugins/helpful_socket_errors.rb' -require 'aws-sdk-core/plugins/retry_errors.rb' -require 'aws-sdk-core/plugins/global_configuration.rb' -require 'aws-sdk-core/plugins/regional_endpoint.rb' -require 'aws-sdk-core/plugins/stub_responses.rb' -require 'aws-sdk-core/plugins/idempotency_token.rb' -require 'aws-sdk-core/plugins/invocation_id.rb' -require 'aws-sdk-core/plugins/jsonvalue_converter.rb' -require 'aws-sdk-core/plugins/http_checksum.rb' -require 'aws-sdk-core/plugins/checksum_algorithm.rb' -require 'aws-sdk-core/plugins/request_compression.rb' -require 'aws-sdk-core/plugins/defaults_mode.rb' -require 'aws-sdk-core/plugins/recursion_detection.rb' -require 'aws-sdk-core/plugins/telemetry.rb' -require 'aws-sdk-core/plugins/sign.rb' -require 'aws-sdk-core/plugins/protocols/rest_json.rb' -require 'aws-sdk-core/plugins/event_stream_configuration.rb' +require 'aws-sdk-core/plugins/credentials_configuration' +require 'aws-sdk-core/plugins/logging' +require 'aws-sdk-core/plugins/param_converter' +require 'aws-sdk-core/plugins/param_validator' +require 'aws-sdk-core/plugins/user_agent' +require 'aws-sdk-core/plugins/helpful_socket_errors' +require 'aws-sdk-core/plugins/retry_errors' +require 'aws-sdk-core/plugins/global_configuration' +require 'aws-sdk-core/plugins/regional_endpoint' +require 'aws-sdk-core/plugins/stub_responses' +require 'aws-sdk-core/plugins/idempotency_token' +require 'aws-sdk-core/plugins/invocation_id' +require 'aws-sdk-core/plugins/jsonvalue_converter' +require 'aws-sdk-core/plugins/http_checksum' +require 'aws-sdk-core/plugins/checksum_algorithm' +require 'aws-sdk-core/plugins/request_compression' +require 'aws-sdk-core/plugins/defaults_mode' +require 'aws-sdk-core/plugins/recursion_detection' +require 'aws-sdk-core/plugins/telemetry' +require 'aws-sdk-core/plugins/sign' +require 'aws-sdk-core/plugins/protocols/rest_json' +require 'aws-sdk-core/plugins/event_stream_configuration' Aws::Plugins::GlobalConfiguration.add_identifier(:bedrockruntime) module Aws::BedrockRuntime + # An API async client for BedrockRuntime. To construct an async client, you need to configure a `:region` and `:credentials`. + # + # async_client = Aws::BedrockRuntime::AsyncClient.new( + # region: region_name, + # credentials: credentials, + # # ... + # ) + # + # For details on configuring region and credentials see + # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html). + # + # See {#initialize} for a full list of supported configuration options. class AsyncClient < Seahorse::Client::AsyncBase include Aws::AsyncClientStubs @@ -68,6 +80,13 @@ class AsyncClient < Seahorse::Client::AsyncBase add_plugin(Aws::Plugins::EventStreamConfiguration) add_plugin(Aws::BedrockRuntime::Plugins::Endpoints) + # @overload initialize(options) + # @param [Hash] options + # + # @option options [Array] :plugins ([]]) + # A list of plugins to apply to the client. Each plugin is either a + # class name or an instance of a plugin class. + # # @option options [required, Aws::CredentialProvider] :credentials # Your AWS credentials. This can be an instance of any one of the # following classes: @@ -406,103 +425,104 @@ def initialize(*args) # * {Types::InvokeModelWithBidirectionalStreamResponse#body #body} => Types::InvokeModelWithBidirectionalStreamOutput # # @example Bi-directional EventStream Operation Example - # - # You can signal input events after the initial request is established. Events - # will be sent to the stream immediately once the stream connection is - # established successfully. - # - # To signal events, you can call the #signal methods from an Aws::BedrockRuntime::EventStreams::InvokeModelWithBidirectionalStreamInput - # object. You must signal events before calling #wait or #join! on the async response. - # - # input_stream = Aws::BedrockRuntime::EventStreams::InvokeModelWithBidirectionalStreamInput.new - # - # async_resp = client.invoke_model_with_bidirectional_stream( - # # params input - # input_event_stream_handler: input_stream) do |out_stream| - # - # # register callbacks for events - # out_stream.on_chunk_event do |event| - # event # => Aws::BedrockRuntime::Types::chunk - # end - # out_stream.on_internal_server_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::internalServerException - # end - # out_stream.on_model_stream_error_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::modelStreamErrorException - # end - # out_stream.on_validation_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::validationException - # end - # out_stream.on_throttling_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::throttlingException - # end - # out_stream.on_model_timeout_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::modelTimeoutException - # end - # out_stream.on_service_unavailable_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::serviceUnavailableException - # end - # - # end - # # => Aws::Seahorse::Client::AsyncResponse - # - # # signal events - # input_stream.signal_chunk_event( ... ) - # - # # make sure to signal :end_stream at the end - # input_stream.signal_end_stream - # - # # wait until stream is closed before finalizing the sync response - # resp = async_resp.wait - # # Or close the stream and finalize sync response immediately - # # resp = async_resp.join! - # - # You can also provide an Aws::BedrockRuntime::EventStreams::InvokeModelWithBidirectionalStreamOutput object to register callbacks - # before initializing the request instead of processing from the request block. - # - # output_stream = Aws::BedrockRuntime::EventStreams::InvokeModelWithBidirectionalStreamOutput.new - # # register callbacks for output events - # output_stream.on_chunk_event do |event| + # # You can signal input events after the initial request is established. Events + # # will be sent to the stream immediately once the stream connection is + # # established successfully. + # + # # To signal events, you can call the #signal methods from an + # # Aws::BedrockRuntime::EventStreams::InvokeModelWithBidirectionalStreamInput object. + # # You must signal events before calling #wait or #join! on the async response. + # input_stream = Aws::BedrockRuntime::EventStreams::InvokeModelWithBidirectionalStreamInput.new + # + # async_resp = client.invoke_model_with_bidirectional_stream( + # # params input + # input_event_stream_handler: input_stream + # ) do |out_stream| + # # register callbacks for events + # out_stream.on_chunk_event do |event| # event # => Aws::BedrockRuntime::Types::chunk # end - # output_stream.on_internal_server_exception_event do |event| + # out_stream.on_internal_server_exception_event do |event| # event # => Aws::BedrockRuntime::Types::internalServerException # end - # output_stream.on_model_stream_error_exception_event do |event| + # out_stream.on_model_stream_error_exception_event do |event| # event # => Aws::BedrockRuntime::Types::modelStreamErrorException # end - # output_stream.on_validation_exception_event do |event| + # out_stream.on_validation_exception_event do |event| # event # => Aws::BedrockRuntime::Types::validationException # end - # output_stream.on_throttling_exception_event do |event| + # out_stream.on_throttling_exception_event do |event| # event # => Aws::BedrockRuntime::Types::throttlingException # end - # output_stream.on_model_timeout_exception_event do |event| + # out_stream.on_model_timeout_exception_event do |event| # event # => Aws::BedrockRuntime::Types::modelTimeoutException # end - # output_stream.on_service_unavailable_exception_event do |event| + # out_stream.on_service_unavailable_exception_event do |event| # event # => Aws::BedrockRuntime::Types::serviceUnavailableException # end - # output_stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # async_resp = client.invoke_model_with_bidirectional_stream ( - # # params input - # input_event_stream_handler: input_stream - # output_event_stream_handler: output_stream - # ) - # - # resp = async_resp.join! - # - # You can also iterate through events after the response is complete. - # - # Events are available at resp.body # => Enumerator + # end + # # => Aws::Seahorse::Client::AsyncResponse + # + # # signal events + # input_stream.signal_chunk_event( + # # ... + # ) + # + # # make sure to signal :end_stream at the end + # input_stream.signal_end_stream + # + # # wait until stream is closed before finalizing the sync response + # resp = async_resp.wait + # + # # Or close the stream and finalize sync response immediately + # resp = async_resp.join! + # + # # You can also provide an Aws::BedrockRuntime::EventStreams::InvokeModelWithBidirectionalStreamOutput object + # # to register callbacks before initializing the request instead of processing + # # from the request block. + # output_stream = Aws::BedrockRuntime::EventStreams::InvokeModelWithBidirectionalStreamOutput.new + # + # # register callbacks for output events + # output_stream.on_chunk_event do |event| + # event # => Aws::BedrockRuntime::Types::chunk + # end + # output_stream.on_internal_server_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::internalServerException + # end + # output_stream.on_model_stream_error_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::modelStreamErrorException + # end + # output_stream.on_validation_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::validationException + # end + # output_stream.on_throttling_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::throttlingException + # end + # output_stream.on_model_timeout_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::modelTimeoutException + # end + # output_stream.on_service_unavailable_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::serviceUnavailableException + # end + # output_stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # async_resp = client.invoke_model_with_bidirectional_stream( + # # params input + # input_event_stream_handler: input_stream, + # output_event_stream_handler: output_stream + # ) + # resp = async_resp.join! + # + # # You can also iterate through events after the response is complete. + # # Events are available at + # resp.body # => Enumerator # # @example Request syntax with placeholder values # @@ -517,31 +537,31 @@ def initialize(*args) # # @example Response structure # - # All events are available at resp.body: + # # All events are available at resp.body: # resp.body #=> Enumerator # resp.body.event_types #=> [:chunk, :internal_server_exception, :model_stream_error_exception, :validation_exception, :throttling_exception, :model_timeout_exception, :service_unavailable_exception] # - # For :chunk event available at #on_chunk_event callback and response eventstream enumerator: + # # For :chunk event available at #on_chunk_event callback and response eventstream enumerator: # event.bytes #=> String # - # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: + # # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :model_stream_error_exception event available at #on_model_stream_error_exception_event callback and response eventstream enumerator: + # # For :model_stream_error_exception event available at #on_model_stream_error_exception_event callback and response eventstream enumerator: # event.message #=> String # event.original_status_code #=> Integer # event.original_message #=> String # - # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: + # # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: + # # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :model_timeout_exception event available at #on_model_timeout_exception_event callback and response eventstream enumerator: + # # For :model_timeout_exception event available at #on_model_timeout_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: + # # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: # event.message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/InvokeModelWithBidirectionalStream AWS API Documentation diff --git a/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/client.rb b/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/client.rb index c65aeaa9ad2..5d657c7aab0 100644 --- a/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/client.rb +++ b/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/client.rb @@ -1326,176 +1326,182 @@ def converse(params = {}, options = {}) # # @example EventStream Operation Example # - # You can process the event once it arrives immediately, or wait until the - # full response is complete and iterate through the eventstream enumerator. - # - # To interact with event immediately, you need to register #converse_stream - # with callbacks. Callbacks can be registered for specific events or for all - # events, including error events. - # - # Callbacks can be passed into the `:event_stream_handler` option or within a - # block statement attached to the #converse_stream call directly. Hybrid - # pattern of both is also supported. - # - # `:event_stream_handler` option takes in either a Proc object or - # Aws::BedrockRuntime::EventStreams::ConverseStreamOutput object. - # - # Usage pattern a): Callbacks with a block attached to #converse_stream - # Example for registering callbacks for all event types and an error event - # - # client.converse_stream( # params input# ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # ... - # end - # + # # You can process the event once it arrives immediately, or wait until the + # # full response is complete and iterate through the eventstream enumerator. + # + # # To interact with event immediately, you need to register converse_stream + # # with callbacks. Callbacks can be registered for specific events or for all + # # events, including error events. + # + # # Callbacks can be passed into the `:event_stream_handler` option or within a + # # block statement attached to the #converse_stream call directly. Hybrid + # # pattern of both is also supported. + # + # # `:event_stream_handler` option takes in either a Proc object or + # # Aws::BedrockRuntime::EventStreams::ConverseStreamOutput object. + # + # # Usage pattern a): Callbacks with a block attached to #converse_stream + # # Example for registering callbacks for all event types and an error event + # client.converse_stream( + # # params input + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String # end # - # Usage pattern b): Pass in `:event_stream_handler` for #converse_stream - # - # 1) Create a Aws::BedrockRuntime::EventStreams::ConverseStreamOutput object - # Example for registering callbacks with specific events - # - # handler = Aws::BedrockRuntime::EventStreams::ConverseStreamOutput.new - # handler.on_message_start_event do |event| - # event # => Aws::BedrockRuntime::Types::messageStart - # end - # handler.on_content_block_start_event do |event| - # event # => Aws::BedrockRuntime::Types::contentBlockStart - # end - # handler.on_content_block_delta_event do |event| - # event # => Aws::BedrockRuntime::Types::contentBlockDelta - # end - # handler.on_content_block_stop_event do |event| - # event # => Aws::BedrockRuntime::Types::contentBlockStop - # end - # handler.on_message_stop_event do |event| - # event # => Aws::BedrockRuntime::Types::messageStop - # end - # handler.on_metadata_event do |event| - # event # => Aws::BedrockRuntime::Types::metadata - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::internalServerException - # end - # handler.on_model_stream_error_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::modelStreamErrorException - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::validationException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::throttlingException - # end - # handler.on_service_unavailable_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::serviceUnavailableException - # end - # - # client.converse_stream( # params input #, event_stream_handler: handler) - # - # 2) Use a Ruby Proc object - # Example for registering callbacks with specific events - # - # handler = Proc.new do |stream| - # stream.on_message_start_event do |event| - # event # => Aws::BedrockRuntime::Types::messageStart - # end - # stream.on_content_block_start_event do |event| - # event # => Aws::BedrockRuntime::Types::contentBlockStart - # end - # stream.on_content_block_delta_event do |event| - # event # => Aws::BedrockRuntime::Types::contentBlockDelta - # end - # stream.on_content_block_stop_event do |event| - # event # => Aws::BedrockRuntime::Types::contentBlockStop - # end - # stream.on_message_stop_event do |event| - # event # => Aws::BedrockRuntime::Types::messageStop - # end - # stream.on_metadata_event do |event| - # event # => Aws::BedrockRuntime::Types::metadata - # end - # stream.on_internal_server_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::internalServerException - # end - # stream.on_model_stream_error_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::modelStreamErrorException - # end - # stream.on_validation_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::validationException - # end - # stream.on_throttling_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::throttlingException - # end - # stream.on_service_unavailable_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::serviceUnavailableException - # end + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # # ... # end - # - # client.converse_stream( # params input #, event_stream_handler: handler) - # - # Usage pattern c): Hybrid pattern of a) and b) - # - # handler = Aws::BedrockRuntime::EventStreams::ConverseStreamOutput.new - # handler.on_message_start_event do |event| - # event # => Aws::BedrockRuntime::Types::messageStart - # end - # handler.on_content_block_start_event do |event| - # event # => Aws::BedrockRuntime::Types::contentBlockStart - # end - # handler.on_content_block_delta_event do |event| - # event # => Aws::BedrockRuntime::Types::contentBlockDelta - # end - # handler.on_content_block_stop_event do |event| - # event # => Aws::BedrockRuntime::Types::contentBlockStop - # end - # handler.on_message_stop_event do |event| - # event # => Aws::BedrockRuntime::Types::messageStop - # end - # handler.on_metadata_event do |event| - # event # => Aws::BedrockRuntime::Types::metadata - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::internalServerException - # end - # handler.on_model_stream_error_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::modelStreamErrorException - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::validationException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::throttlingException - # end - # handler.on_service_unavailable_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::serviceUnavailableException - # end - # - # client.converse_stream( # params input #, event_stream_handler: handler) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # end + # + # # Usage pattern b): Pass in `:event_stream_handler` for #converse_stream + # # 1) Create a Aws::BedrockRuntime::EventStreams::ConverseStreamOutput object + # # Example for registering callbacks with specific events + # + # handler = Aws::BedrockRuntime::EventStreams::ConverseStreamOutput.new + # handler.on_message_start_event do |event| + # event # => Aws::BedrockRuntime::Types::messageStart + # end + # handler.on_content_block_start_event do |event| + # event # => Aws::BedrockRuntime::Types::contentBlockStart + # end + # handler.on_content_block_delta_event do |event| + # event # => Aws::BedrockRuntime::Types::contentBlockDelta + # end + # handler.on_content_block_stop_event do |event| + # event # => Aws::BedrockRuntime::Types::contentBlockStop + # end + # handler.on_message_stop_event do |event| + # event # => Aws::BedrockRuntime::Types::messageStop + # end + # handler.on_metadata_event do |event| + # event # => Aws::BedrockRuntime::Types::metadata + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::internalServerException + # end + # handler.on_model_stream_error_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::modelStreamErrorException + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::validationException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::throttlingException + # end + # handler.on_service_unavailable_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::serviceUnavailableException + # end + # + # client.converse_stream( + # # params inputs + # event_stream_handler: handler + # ) + # + # # 2) Use a Ruby Proc object + # # Example for registering callbacks with specific events + # handler = Proc.new do |stream| + # stream.on_message_start_event do |event| + # event # => Aws::BedrockRuntime::Types::messageStart # end + # stream.on_content_block_start_event do |event| + # event # => Aws::BedrockRuntime::Types::contentBlockStart + # end + # stream.on_content_block_delta_event do |event| + # event # => Aws::BedrockRuntime::Types::contentBlockDelta + # end + # stream.on_content_block_stop_event do |event| + # event # => Aws::BedrockRuntime::Types::contentBlockStop + # end + # stream.on_message_stop_event do |event| + # event # => Aws::BedrockRuntime::Types::messageStop + # end + # stream.on_metadata_event do |event| + # event # => Aws::BedrockRuntime::Types::metadata + # end + # stream.on_internal_server_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::internalServerException + # end + # stream.on_model_stream_error_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::modelStreamErrorException + # end + # stream.on_validation_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::validationException + # end + # stream.on_throttling_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::throttlingException + # end + # stream.on_service_unavailable_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::serviceUnavailableException + # end + # end + # + # client.converse_stream( + # # params inputs + # event_stream_handler: handler + # ) + # + # # Usage pattern c): Hybrid pattern of a) and b) + # handler = Aws::BedrockRuntime::EventStreams::ConverseStreamOutput.new + # handler.on_message_start_event do |event| + # event # => Aws::BedrockRuntime::Types::messageStart + # end + # handler.on_content_block_start_event do |event| + # event # => Aws::BedrockRuntime::Types::contentBlockStart + # end + # handler.on_content_block_delta_event do |event| + # event # => Aws::BedrockRuntime::Types::contentBlockDelta + # end + # handler.on_content_block_stop_event do |event| + # event # => Aws::BedrockRuntime::Types::contentBlockStop + # end + # handler.on_message_stop_event do |event| + # event # => Aws::BedrockRuntime::Types::messageStop + # end + # handler.on_metadata_event do |event| + # event # => Aws::BedrockRuntime::Types::metadata + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::internalServerException + # end + # handler.on_model_stream_error_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::modelStreamErrorException + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::validationException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::throttlingException + # end + # handler.on_service_unavailable_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::serviceUnavailableException + # end + # + # client.converse_stream( + # # params input + # event_stream_handler: handler + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # end # - # You can also iterate through events after the response complete. - # - # Events are available at resp.stream # => Enumerator - # For parameter input example, please refer to following request syntax + # # You can also iterate through events after the response complete. + # # Events are available at + # resp.stream # => Enumerator + # # For parameter input example, please refer to following request syntax. # # @example Request syntax with placeholder values # @@ -1672,19 +1678,19 @@ def converse(params = {}, options = {}) # # @example Response structure # - # All events are available at resp.stream: + # # All events are available at resp.stream: # resp.stream #=> Enumerator # resp.stream.event_types #=> [:message_start, :content_block_start, :content_block_delta, :content_block_stop, :message_stop, :metadata, :internal_server_exception, :model_stream_error_exception, :validation_exception, :throttling_exception, :service_unavailable_exception] # - # For :message_start event available at #on_message_start_event callback and response eventstream enumerator: + # # For :message_start event available at #on_message_start_event callback and response eventstream enumerator: # event.role #=> String, one of "user", "assistant" # - # For :content_block_start event available at #on_content_block_start_event callback and response eventstream enumerator: + # # For :content_block_start event available at #on_content_block_start_event callback and response eventstream enumerator: # event.start.tool_use.tool_use_id #=> String # event.start.tool_use.name #=> String # event.content_block_index #=> Integer # - # For :content_block_delta event available at #on_content_block_delta_event callback and response eventstream enumerator: + # # For :content_block_delta event available at #on_content_block_delta_event callback and response eventstream enumerator: # event.delta.text #=> String # event.delta.tool_use.input #=> String # event.delta.reasoning_content.text #=> String @@ -1692,13 +1698,13 @@ def converse(params = {}, options = {}) # event.delta.reasoning_content.signature #=> String # event.content_block_index #=> Integer # - # For :content_block_stop event available at #on_content_block_stop_event callback and response eventstream enumerator: + # # For :content_block_stop event available at #on_content_block_stop_event callback and response eventstream enumerator: # event.content_block_index #=> Integer # - # For :message_stop event available at #on_message_stop_event callback and response eventstream enumerator: + # # For :message_stop event available at #on_message_stop_event callback and response eventstream enumerator: # event.stop_reason #=> String, one of "end_turn", "tool_use", "max_tokens", "stop_sequence", "guardrail_intervened", "content_filtered" # - # For :metadata event available at #on_metadata_event callback and response eventstream enumerator: + # # For :metadata event available at #on_metadata_event callback and response eventstream enumerator: # event.usage.input_tokens #=> Integer # event.usage.output_tokens #=> Integer # event.usage.total_tokens #=> Integer @@ -1812,21 +1818,21 @@ def converse(params = {}, options = {}) # event.trace.prompt_router.invoked_model_id #=> String # event.performance_config.latency #=> String, one of "standard", "optimized" # - # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: + # # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :model_stream_error_exception event available at #on_model_stream_error_exception_event callback and response eventstream enumerator: + # # For :model_stream_error_exception event available at #on_model_stream_error_exception_event callback and response eventstream enumerator: # event.message #=> String # event.original_status_code #=> Integer # event.original_message #=> String # - # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: + # # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: + # # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: + # # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: # event.message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/ConverseStream AWS API Documentation @@ -2175,140 +2181,146 @@ def invoke_model(params = {}, options = {}) # # @example EventStream Operation Example # - # You can process the event once it arrives immediately, or wait until the - # full response is complete and iterate through the eventstream enumerator. - # - # To interact with event immediately, you need to register #invoke_model_with_response_stream - # with callbacks. Callbacks can be registered for specific events or for all - # events, including error events. - # - # Callbacks can be passed into the `:event_stream_handler` option or within a - # block statement attached to the #invoke_model_with_response_stream call directly. Hybrid - # pattern of both is also supported. - # - # `:event_stream_handler` option takes in either a Proc object or - # Aws::BedrockRuntime::EventStreams::ResponseStream object. - # - # Usage pattern a): Callbacks with a block attached to #invoke_model_with_response_stream - # Example for registering callbacks for all event types and an error event - # - # client.invoke_model_with_response_stream( # params input# ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # ... - # end - # + # # You can process the event once it arrives immediately, or wait until the + # # full response is complete and iterate through the eventstream enumerator. + # + # # To interact with event immediately, you need to register invoke_model_with_response_stream + # # with callbacks. Callbacks can be registered for specific events or for all + # # events, including error events. + # + # # Callbacks can be passed into the `:event_stream_handler` option or within a + # # block statement attached to the #invoke_model_with_response_stream call directly. Hybrid + # # pattern of both is also supported. + # + # # `:event_stream_handler` option takes in either a Proc object or + # # Aws::BedrockRuntime::EventStreams::ResponseStream object. + # + # # Usage pattern a): Callbacks with a block attached to #invoke_model_with_response_stream + # # Example for registering callbacks for all event types and an error event + # client.invoke_model_with_response_stream( + # # params input + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String # end # - # Usage pattern b): Pass in `:event_stream_handler` for #invoke_model_with_response_stream - # - # 1) Create a Aws::BedrockRuntime::EventStreams::ResponseStream object - # Example for registering callbacks with specific events - # - # handler = Aws::BedrockRuntime::EventStreams::ResponseStream.new - # handler.on_chunk_event do |event| - # event # => Aws::BedrockRuntime::Types::chunk - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::internalServerException - # end - # handler.on_model_stream_error_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::modelStreamErrorException - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::validationException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::throttlingException - # end - # handler.on_model_timeout_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::modelTimeoutException - # end - # handler.on_service_unavailable_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::serviceUnavailableException - # end - # - # client.invoke_model_with_response_stream( # params input #, event_stream_handler: handler) - # - # 2) Use a Ruby Proc object - # Example for registering callbacks with specific events - # - # handler = Proc.new do |stream| - # stream.on_chunk_event do |event| - # event # => Aws::BedrockRuntime::Types::chunk - # end - # stream.on_internal_server_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::internalServerException - # end - # stream.on_model_stream_error_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::modelStreamErrorException - # end - # stream.on_validation_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::validationException - # end - # stream.on_throttling_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::throttlingException - # end - # stream.on_model_timeout_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::modelTimeoutException - # end - # stream.on_service_unavailable_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::serviceUnavailableException - # end + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # # ... # end - # - # client.invoke_model_with_response_stream( # params input #, event_stream_handler: handler) - # - # Usage pattern c): Hybrid pattern of a) and b) - # - # handler = Aws::BedrockRuntime::EventStreams::ResponseStream.new - # handler.on_chunk_event do |event| - # event # => Aws::BedrockRuntime::Types::chunk - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::internalServerException - # end - # handler.on_model_stream_error_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::modelStreamErrorException - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::validationException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::throttlingException - # end - # handler.on_model_timeout_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::modelTimeoutException - # end - # handler.on_service_unavailable_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::serviceUnavailableException - # end - # - # client.invoke_model_with_response_stream( # params input #, event_stream_handler: handler) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # end + # + # # Usage pattern b): Pass in `:event_stream_handler` for #invoke_model_with_response_stream + # # 1) Create a Aws::BedrockRuntime::EventStreams::ResponseStream object + # # Example for registering callbacks with specific events + # + # handler = Aws::BedrockRuntime::EventStreams::ResponseStream.new + # handler.on_chunk_event do |event| + # event # => Aws::BedrockRuntime::Types::chunk + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::internalServerException + # end + # handler.on_model_stream_error_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::modelStreamErrorException + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::validationException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::throttlingException + # end + # handler.on_model_timeout_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::modelTimeoutException + # end + # handler.on_service_unavailable_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::serviceUnavailableException + # end + # + # client.invoke_model_with_response_stream( + # # params inputs + # event_stream_handler: handler + # ) + # + # # 2) Use a Ruby Proc object + # # Example for registering callbacks with specific events + # handler = Proc.new do |stream| + # stream.on_chunk_event do |event| + # event # => Aws::BedrockRuntime::Types::chunk # end + # stream.on_internal_server_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::internalServerException + # end + # stream.on_model_stream_error_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::modelStreamErrorException + # end + # stream.on_validation_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::validationException + # end + # stream.on_throttling_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::throttlingException + # end + # stream.on_model_timeout_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::modelTimeoutException + # end + # stream.on_service_unavailable_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::serviceUnavailableException + # end + # end + # + # client.invoke_model_with_response_stream( + # # params inputs + # event_stream_handler: handler + # ) + # + # # Usage pattern c): Hybrid pattern of a) and b) + # handler = Aws::BedrockRuntime::EventStreams::ResponseStream.new + # handler.on_chunk_event do |event| + # event # => Aws::BedrockRuntime::Types::chunk + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::internalServerException + # end + # handler.on_model_stream_error_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::modelStreamErrorException + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::validationException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::throttlingException + # end + # handler.on_model_timeout_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::modelTimeoutException + # end + # handler.on_service_unavailable_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::serviceUnavailableException + # end + # + # client.invoke_model_with_response_stream( + # # params input + # event_stream_handler: handler + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # end # - # You can also iterate through events after the response complete. - # - # Events are available at resp.body # => Enumerator - # For parameter input example, please refer to following request syntax + # # You can also iterate through events after the response complete. + # # Events are available at + # resp.body # => Enumerator + # # For parameter input example, please refer to following request syntax. # # @example Request syntax with placeholder values # @@ -2325,31 +2337,31 @@ def invoke_model(params = {}, options = {}) # # @example Response structure # - # All events are available at resp.body: + # # All events are available at resp.body: # resp.body #=> Enumerator # resp.body.event_types #=> [:chunk, :internal_server_exception, :model_stream_error_exception, :validation_exception, :throttling_exception, :model_timeout_exception, :service_unavailable_exception] # - # For :chunk event available at #on_chunk_event callback and response eventstream enumerator: + # # For :chunk event available at #on_chunk_event callback and response eventstream enumerator: # event.bytes #=> String # - # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: + # # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :model_stream_error_exception event available at #on_model_stream_error_exception_event callback and response eventstream enumerator: + # # For :model_stream_error_exception event available at #on_model_stream_error_exception_event callback and response eventstream enumerator: # event.message #=> String # event.original_status_code #=> Integer # event.original_message #=> String # - # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: + # # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: + # # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :model_timeout_exception event available at #on_model_timeout_exception_event callback and response eventstream enumerator: + # # For :model_timeout_exception event available at #on_model_timeout_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: + # # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: # event.message #=> String # # resp.content_type #=> String diff --git a/gems/aws-sdk-bedrockruntime/sig/async_client.rbs b/gems/aws-sdk-bedrockruntime/sig/async_client.rbs new file mode 100644 index 00000000000..69b4d4e1e11 --- /dev/null +++ b/gems/aws-sdk-bedrockruntime/sig/async_client.rbs @@ -0,0 +1,81 @@ +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +module Aws + module BedrockRuntime + class AsyncClient < ::Seahorse::Client::AsyncBase + include ::Aws::AsyncClientStubs + + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/BedrockRuntime/AsyncClient.html#initialize-instance_method + def self.new: ( + ?credentials: untyped, + ?region: String, + ?access_key_id: String, + ?account_id: String, + ?adaptive_retry_wait_to_fill: bool, + ?convert_params: bool, + ?correct_clock_skew: bool, + ?defaults_mode: String, + ?disable_request_compression: bool, + ?endpoint: String, + ?event_stream_handler: Proc, + ?ignore_configured_endpoint_urls: bool, + ?input_event_stream_handler: Proc, + ?log_formatter: untyped, + ?log_level: Symbol, + ?logger: untyped, + ?max_attempts: Integer, + ?output_event_stream_handler: Proc, + ?profile: String, + ?request_checksum_calculation: String, + ?request_min_compression_size_bytes: Integer, + ?response_checksum_validation: String, + ?retry_backoff: Proc, + ?retry_base_delay: Float, + ?retry_jitter: (:none | :equal | :full | ^(Integer) -> Integer), + ?retry_limit: Integer, + ?retry_max_delay: Integer, + ?retry_mode: ("legacy" | "standard" | "adaptive"), + ?sdk_ua_app_id: String, + ?secret_access_key: String, + ?session_token: String, + ?sigv4a_signing_region_set: Array[String], + ?stub_responses: bool, + ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, + ?token_provider: untyped, + ?use_dualstack_endpoint: bool, + ?use_fips_endpoint: bool, + ?validate_params: bool, + ?endpoint_provider: untyped, + ?connection_read_timeout: (Float | Integer), + ?connection_timeout: (Float | Integer), + ?enable_alpn: bool, + ?max_concurrent_streams: (Float | Integer), + ?read_chunk_size: (Float | Integer), + ?http_wire_trace: bool, + ?ssl_verify_peer: bool, + ?ssl_ca_bundle: String, + ?ssl_ca_directory: String, + ?ssl_ca_store: String, + ?raise_response_errors: bool + ) -> instance + | (?Hash[Symbol, untyped]) -> instance + + + interface _InvokeModelWithBidirectionalStreamResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::InvokeModelWithBidirectionalStreamResponse] + def body: () -> Types::InvokeModelWithBidirectionalStreamOutput + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/BedrockRuntime/AsyncClient.html#invoke_model_with_bidirectional_stream-instance_method + def invoke_model_with_bidirectional_stream: ( + model_id: ::String, + input_event_stream_hander: untyped + ) ?{ (*untyped) -> void } -> _InvokeModelWithBidirectionalStreamResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _InvokeModelWithBidirectionalStreamResponseSuccess + end + end +end \ No newline at end of file diff --git a/gems/aws-sdk-bedrockruntime/sig/client.rbs b/gems/aws-sdk-bedrockruntime/sig/client.rbs index 18cc1363bd5..e45a81939a0 100644 --- a/gems/aws-sdk-bedrockruntime/sig/client.rbs +++ b/gems/aws-sdk-bedrockruntime/sig/client.rbs @@ -55,7 +55,7 @@ module Aws ?secret_access_key: String, ?session_token: String, ?sigv4a_signing_region_set: Array[String], - ?stub_responses: untyped, + ?stub_responses: bool, ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, ?token_provider: untyped, ?use_dualstack_endpoint: bool, @@ -500,17 +500,6 @@ module Aws ) -> _InvokeModelResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _InvokeModelResponseSuccess - interface _InvokeModelWithBidirectionalStreamResponseSuccess - include ::Seahorse::Client::_ResponseSuccess[Types::InvokeModelWithBidirectionalStreamResponse] - def body: () -> Types::InvokeModelWithBidirectionalStreamOutput - end - # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/BedrockRuntime/Client.html#invoke_model_with_bidirectional_stream-instance_method - def invoke_model_with_bidirectional_stream: ( - model_id: ::String, - input_event_stream_hander: untyped - ) ?{ (*untyped) -> void } -> _InvokeModelWithBidirectionalStreamResponseSuccess - | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _InvokeModelWithBidirectionalStreamResponseSuccess - interface _InvokeModelWithResponseStreamResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::InvokeModelWithResponseStreamResponse] def body: () -> Types::ResponseStream diff --git a/gems/aws-sdk-bedrockruntime/sig/resource.rbs b/gems/aws-sdk-bedrockruntime/sig/resource.rbs index 4fced24dfdc..7df6bf367aa 100644 --- a/gems/aws-sdk-bedrockruntime/sig/resource.rbs +++ b/gems/aws-sdk-bedrockruntime/sig/resource.rbs @@ -55,7 +55,7 @@ module Aws ?secret_access_key: String, ?session_token: String, ?sigv4a_signing_region_set: Array[String], - ?stub_responses: untyped, + ?stub_responses: bool, ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, ?token_provider: untyped, ?use_dualstack_endpoint: bool, diff --git a/gems/aws-sdk-s3/lib/aws-sdk-s3/client.rb b/gems/aws-sdk-s3/lib/aws-sdk-s3/client.rb index b9671f03dbc..e0eb20f8968 100644 --- a/gems/aws-sdk-s3/lib/aws-sdk-s3/client.rb +++ b/gems/aws-sdk-s3/lib/aws-sdk-s3/client.rb @@ -18980,122 +18980,128 @@ def restore_object(params = {}, options = {}) # # @example EventStream Operation Example # - # You can process the event once it arrives immediately, or wait until the - # full response is complete and iterate through the eventstream enumerator. - # - # To interact with event immediately, you need to register #select_object_content - # with callbacks. Callbacks can be registered for specific events or for all - # events, including error events. - # - # Callbacks can be passed into the `:event_stream_handler` option or within a - # block statement attached to the #select_object_content call directly. Hybrid - # pattern of both is also supported. - # - # `:event_stream_handler` option takes in either a Proc object or - # Aws::S3::EventStreams::SelectObjectContentEventStream object. - # - # Usage pattern a): Callbacks with a block attached to #select_object_content - # Example for registering callbacks for all event types and an error event - # - # client.select_object_content( # params input# ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # ... - # end - # + # # You can process the event once it arrives immediately, or wait until the + # # full response is complete and iterate through the eventstream enumerator. + # + # # To interact with event immediately, you need to register select_object_content + # # with callbacks. Callbacks can be registered for specific events or for all + # # events, including error events. + # + # # Callbacks can be passed into the `:event_stream_handler` option or within a + # # block statement attached to the #select_object_content call directly. Hybrid + # # pattern of both is also supported. + # + # # `:event_stream_handler` option takes in either a Proc object or + # # Aws::S3::EventStreams::SelectObjectContentEventStream object. + # + # # Usage pattern a): Callbacks with a block attached to #select_object_content + # # Example for registering callbacks for all event types and an error event + # client.select_object_content( + # # params input + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String # end # - # Usage pattern b): Pass in `:event_stream_handler` for #select_object_content + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # # ... + # end + # end # - # 1) Create a Aws::S3::EventStreams::SelectObjectContentEventStream object - # Example for registering callbacks with specific events + # # Usage pattern b): Pass in `:event_stream_handler` for #select_object_content + # # 1) Create a Aws::S3::EventStreams::SelectObjectContentEventStream object + # # Example for registering callbacks with specific events # - # handler = Aws::S3::EventStreams::SelectObjectContentEventStream.new - # handler.on_records_event do |event| - # event # => Aws::S3::Types::Records - # end - # handler.on_stats_event do |event| - # event # => Aws::S3::Types::Stats - # end - # handler.on_progress_event do |event| - # event # => Aws::S3::Types::Progress - # end - # handler.on_cont_event do |event| - # event # => Aws::S3::Types::Cont - # end - # handler.on_end_event do |event| - # event # => Aws::S3::Types::End - # end - # - # client.select_object_content( # params input #, event_stream_handler: handler) + # handler = Aws::S3::EventStreams::SelectObjectContentEventStream.new + # handler.on_records_event do |event| + # event # => Aws::S3::Types::Records + # end + # handler.on_stats_event do |event| + # event # => Aws::S3::Types::Stats + # end + # handler.on_progress_event do |event| + # event # => Aws::S3::Types::Progress + # end + # handler.on_cont_event do |event| + # event # => Aws::S3::Types::Cont + # end + # handler.on_end_event do |event| + # event # => Aws::S3::Types::End + # end # - # 2) Use a Ruby Proc object - # Example for registering callbacks with specific events + # client.select_object_content( + # # params inputs + # event_stream_handler: handler + # ) # - # handler = Proc.new do |stream| - # stream.on_records_event do |event| - # event # => Aws::S3::Types::Records - # end - # stream.on_stats_event do |event| - # event # => Aws::S3::Types::Stats - # end - # stream.on_progress_event do |event| - # event # => Aws::S3::Types::Progress - # end - # stream.on_cont_event do |event| - # event # => Aws::S3::Types::Cont - # end - # stream.on_end_event do |event| - # event # => Aws::S3::Types::End - # end + # # 2) Use a Ruby Proc object + # # Example for registering callbacks with specific events + # handler = Proc.new do |stream| + # stream.on_records_event do |event| + # event # => Aws::S3::Types::Records # end + # stream.on_stats_event do |event| + # event # => Aws::S3::Types::Stats + # end + # stream.on_progress_event do |event| + # event # => Aws::S3::Types::Progress + # end + # stream.on_cont_event do |event| + # event # => Aws::S3::Types::Cont + # end + # stream.on_end_event do |event| + # event # => Aws::S3::Types::End + # end + # end # - # client.select_object_content( # params input #, event_stream_handler: handler) - # - # Usage pattern c): Hybrid pattern of a) and b) + # client.select_object_content( + # # params inputs + # event_stream_handler: handler + # ) # - # handler = Aws::S3::EventStreams::SelectObjectContentEventStream.new - # handler.on_records_event do |event| - # event # => Aws::S3::Types::Records - # end - # handler.on_stats_event do |event| - # event # => Aws::S3::Types::Stats - # end - # handler.on_progress_event do |event| - # event # => Aws::S3::Types::Progress - # end - # handler.on_cont_event do |event| - # event # => Aws::S3::Types::Cont - # end - # handler.on_end_event do |event| - # event # => Aws::S3::Types::End - # end + # # Usage pattern c): Hybrid pattern of a) and b) + # handler = Aws::S3::EventStreams::SelectObjectContentEventStream.new + # handler.on_records_event do |event| + # event # => Aws::S3::Types::Records + # end + # handler.on_stats_event do |event| + # event # => Aws::S3::Types::Stats + # end + # handler.on_progress_event do |event| + # event # => Aws::S3::Types::Progress + # end + # handler.on_cont_event do |event| + # event # => Aws::S3::Types::Cont + # end + # handler.on_end_event do |event| + # event # => Aws::S3::Types::End + # end # - # client.select_object_content( # params input #, event_stream_handler: handler) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # client.select_object_content( + # # params input + # event_stream_handler: handler + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String # end + # end # - # You can also iterate through events after the response complete. - # - # Events are available at resp.payload # => Enumerator - # For parameter input example, please refer to following request syntax + # # You can also iterate through events after the response complete. + # # Events are available at + # resp.payload # => Enumerator + # # For parameter input example, please refer to following request syntax. # # @example Request syntax with placeholder values # @@ -19148,26 +19154,26 @@ def restore_object(params = {}, options = {}) # # @example Response structure # - # All events are available at resp.payload: + # # All events are available at resp.payload: # resp.payload #=> Enumerator # resp.payload.event_types #=> [:records, :stats, :progress, :cont, :end] # - # For :records event available at #on_records_event callback and response eventstream enumerator: + # # For :records event available at #on_records_event callback and response eventstream enumerator: # event.payload #=> IO # - # For :stats event available at #on_stats_event callback and response eventstream enumerator: + # # For :stats event available at #on_stats_event callback and response eventstream enumerator: # event.details.bytes_scanned #=> Integer # event.details.bytes_processed #=> Integer # event.details.bytes_returned #=> Integer # - # For :progress event available at #on_progress_event callback and response eventstream enumerator: + # # For :progress event available at #on_progress_event callback and response eventstream enumerator: # event.details.bytes_scanned #=> Integer # event.details.bytes_processed #=> Integer # event.details.bytes_returned #=> Integer # - # For :cont event available at #on_cont_event callback and response eventstream enumerator: + # # For :cont event available at #on_cont_event callback and response eventstream enumerator: # #=> EmptyStruct - # For :end event available at #on_end_event callback and response eventstream enumerator: + # # For :end event available at #on_end_event callback and response eventstream enumerator: # #=> EmptyStruct # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent AWS API Documentation diff --git a/gems/aws-sdk-s3/sig/client.rbs b/gems/aws-sdk-s3/sig/client.rbs index 728690f4bad..9caeec9a051 100644 --- a/gems/aws-sdk-s3/sig/client.rbs +++ b/gems/aws-sdk-s3/sig/client.rbs @@ -66,7 +66,7 @@ module Aws ?secret_access_key: String, ?session_token: String, ?sigv4a_signing_region_set: Array[String], - ?stub_responses: untyped, + ?stub_responses: bool, ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, ?token_provider: untyped, ?use_accelerate_endpoint: bool, diff --git a/gems/aws-sdk-s3/sig/resource.rbs b/gems/aws-sdk-s3/sig/resource.rbs index cd5d30a52bd..5a64f0439bc 100644 --- a/gems/aws-sdk-s3/sig/resource.rbs +++ b/gems/aws-sdk-s3/sig/resource.rbs @@ -66,7 +66,7 @@ module Aws ?secret_access_key: String, ?session_token: String, ?sigv4a_signing_region_set: Array[String], - ?stub_responses: untyped, + ?stub_responses: bool, ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, ?token_provider: untyped, ?use_accelerate_endpoint: bool, From 1423149d4963c0d52be4fd4d195012ab75f86814 Mon Sep 17 00:00:00 2001 From: Juli Tera Date: Fri, 25 Apr 2025 07:10:16 -0700 Subject: [PATCH 16/22] Keep it as untyped --- gems/aws-sdk-core/lib/aws-sdk-core/plugins/stub_responses.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gems/aws-sdk-core/lib/aws-sdk-core/plugins/stub_responses.rb b/gems/aws-sdk-core/lib/aws-sdk-core/plugins/stub_responses.rb index 883359dfffb..e2e17ef2e1a 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-core/plugins/stub_responses.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-core/plugins/stub_responses.rb @@ -8,7 +8,7 @@ class StubResponses < Seahorse::Client::Plugin option(:stub_responses, default: false, doc_type: 'Boolean', - rbs_type: 'bool', + rbs_type: 'untyped', docstring: <<-DOCS) Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify From 8dd29aef991739365536dce7e444460672b55530 Mon Sep 17 00:00:00 2001 From: Juli Tera Date: Fri, 25 Apr 2025 07:41:17 -0700 Subject: [PATCH 17/22] Revise eventstreaming checks --- .../views/rbs/async_client_class.rb | 8 +++----- .../lib/aws-sdk-code-generator/views/rbs/client_class.rb | 7 +++---- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/async_client_class.rb b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/async_client_class.rb index f46934600b2..0a9ab017422 100644 --- a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/async_client_class.rb +++ b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/async_client_class.rb @@ -101,15 +101,13 @@ def operations private def async_operation?(operation) - es_output = AwsSdkCodeGenerator::Helper.eventstream_output?(operation, @api) - es_input = AwsSdkCodeGenerator::Helper.eventstream_input?(operation, @api) - return unless (es_input || es_output) && (h2 = @protocol_settings['h2']) + return unless (h2 = @protocol_settings['h2']) case h2 when 'eventstream' - es_input || es_output + AwsSdkCodeGenerator::Helper.operation_eventstreaming?(operation, @api) when 'optional' - es_input && es_output + AwsSdkCodeGenerator::Helper.operation_bidirectional_eventstreaming?(operation, @api) else raise 'Unsupported protocol setting' end diff --git a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/client_class.rb b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/client_class.rb index 25840a68a09..df0093523d0 100644 --- a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/client_class.rb +++ b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/client_class.rb @@ -115,11 +115,10 @@ def waiters_others private def async_operation?(operation) - es_output = AwsSdkCodeGenerator::Helper.eventstream_output?(operation, @api) - es_input = AwsSdkCodeGenerator::Helper.eventstream_input?(operation, @api) # ensure that bidirectional eventstreaming operations are not added to client rbs - true if es_input && es_output || @protocol_settings['h2'] == 'eventstream' - + AwsSdkCodeGenerator::Helper.operation_bidirectional_eventstreaming?(operation, @api) || + (@protocol_settings['h2'] == 'eventstream' && + AwsSdkCodeGenerator::Helper.operation_eventstreaming?(operation, @api)) end def documented_plugin_options(plugins) From d99a3bf4b3a29fa4cd46833114671ae212d6be94 Mon Sep 17 00:00:00 2001 From: Juli Tera Date: Fri, 25 Apr 2025 07:41:53 -0700 Subject: [PATCH 18/22] Showcase codegenerated changes --- .../lib/aws-sdk-bedrockagentruntime/client.rb | 1900 +++++++++-------- .../sig/async_client.rbs | 2 +- gems/aws-sdk-bedrockruntime/sig/client.rbs | 2 +- gems/aws-sdk-bedrockruntime/sig/resource.rbs | 2 +- .../lib/aws-sdk-cloudwatchlogs/client.rb | 220 +- .../lib/aws-sdk-iotsitewise/client.rb | 320 +-- .../lib/aws-sdk-kinesis/async_client.rb | 403 ++-- gems/aws-sdk-kinesis/sig/async_client.rbs | 87 + gems/aws-sdk-kinesis/sig/client.rbs | 16 - .../lib/aws-sdk-lambda/client.rb | 180 +- .../lib/aws-sdk-lexruntimev2/async_client.rb | 336 +-- .../aws-sdk-lexruntimev2/sig/async_client.rbs | 85 + gems/aws-sdk-lexruntimev2/sig/client.rbs | 15 - .../lib/aws-sdk-qbusiness/async_client.rb | 246 ++- gems/aws-sdk-qbusiness/sig/async_client.rbs | 86 + gems/aws-sdk-qbusiness/sig/client.rbs | 16 - gems/aws-sdk-s3/sig/client.rbs | 2 +- gems/aws-sdk-s3/sig/resource.rbs | 2 +- .../lib/aws-sdk-sagemakerruntime/client.rb | 200 +- .../async_client.rb | 785 +++---- .../sig/async_client.rbs | 214 ++ .../sig/client.rbs | 144 -- 22 files changed, 2858 insertions(+), 2405 deletions(-) create mode 100644 gems/aws-sdk-kinesis/sig/async_client.rbs create mode 100644 gems/aws-sdk-lexruntimev2/sig/async_client.rbs create mode 100644 gems/aws-sdk-qbusiness/sig/async_client.rbs create mode 100644 gems/aws-sdk-transcribestreamingservice/sig/async_client.rbs diff --git a/gems/aws-sdk-bedrockagentruntime/lib/aws-sdk-bedrockagentruntime/client.rb b/gems/aws-sdk-bedrockagentruntime/lib/aws-sdk-bedrockagentruntime/client.rb index 2f507ab0c44..4ea5477d5fa 100644 --- a/gems/aws-sdk-bedrockagentruntime/lib/aws-sdk-bedrockagentruntime/client.rb +++ b/gems/aws-sdk-bedrockagentruntime/lib/aws-sdk-bedrockagentruntime/client.rb @@ -1072,203 +1072,209 @@ def get_session(params = {}, options = {}) # # @example EventStream Operation Example # - # You can process the event once it arrives immediately, or wait until the - # full response is complete and iterate through the eventstream enumerator. - # - # To interact with event immediately, you need to register #invoke_agent - # with callbacks. Callbacks can be registered for specific events or for all - # events, including error events. - # - # Callbacks can be passed into the `:event_stream_handler` option or within a - # block statement attached to the #invoke_agent call directly. Hybrid - # pattern of both is also supported. - # - # `:event_stream_handler` option takes in either a Proc object or - # Aws::BedrockAgentRuntime::EventStreams::ResponseStream object. - # - # Usage pattern a): Callbacks with a block attached to #invoke_agent - # Example for registering callbacks for all event types and an error event - # - # client.invoke_agent( # params input# ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # ... - # end - # + # # You can process the event once it arrives immediately, or wait until the + # # full response is complete and iterate through the eventstream enumerator. + # + # # To interact with event immediately, you need to register invoke_agent + # # with callbacks. Callbacks can be registered for specific events or for all + # # events, including error events. + # + # # Callbacks can be passed into the `:event_stream_handler` option or within a + # # block statement attached to the #invoke_agent call directly. Hybrid + # # pattern of both is also supported. + # + # # `:event_stream_handler` option takes in either a Proc object or + # # Aws::BedrockAgentRuntime::EventStreams::ResponseStream object. + # + # # Usage pattern a): Callbacks with a block attached to #invoke_agent + # # Example for registering callbacks for all event types and an error event + # client.invoke_agent( + # # params input + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String # end # - # Usage pattern b): Pass in `:event_stream_handler` for #invoke_agent - # - # 1) Create a Aws::BedrockAgentRuntime::EventStreams::ResponseStream object - # Example for registering callbacks with specific events - # - # handler = Aws::BedrockAgentRuntime::EventStreams::ResponseStream.new - # handler.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # handler.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # handler.on_chunk_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::chunk - # end - # handler.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # handler.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # handler.on_files_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::files - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # handler.on_model_not_ready_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::modelNotReadyException - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # handler.on_return_control_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::returnControl - # end - # handler.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # handler.on_trace_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::trace - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end - # - # client.invoke_agent( # params input #, event_stream_handler: handler) - # - # 2) Use a Ruby Proc object - # Example for registering callbacks with specific events - # - # handler = Proc.new do |stream| - # stream.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # stream.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # stream.on_chunk_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::chunk - # end - # stream.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # stream.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # stream.on_files_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::files - # end - # stream.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # stream.on_model_not_ready_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::modelNotReadyException - # end - # stream.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # stream.on_return_control_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::returnControl - # end - # stream.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # stream.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # stream.on_trace_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::trace - # end - # stream.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # # ... # end - # - # client.invoke_agent( # params input #, event_stream_handler: handler) - # - # Usage pattern c): Hybrid pattern of a) and b) - # - # handler = Aws::BedrockAgentRuntime::EventStreams::ResponseStream.new - # handler.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # handler.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # handler.on_chunk_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::chunk - # end - # handler.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # handler.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # handler.on_files_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::files - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # handler.on_model_not_ready_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::modelNotReadyException - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # handler.on_return_control_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::returnControl - # end - # handler.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # handler.on_trace_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::trace - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end - # - # client.invoke_agent( # params input #, event_stream_handler: handler) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # end + # + # # Usage pattern b): Pass in `:event_stream_handler` for #invoke_agent + # # 1) Create a Aws::BedrockAgentRuntime::EventStreams::ResponseStream object + # # Example for registering callbacks with specific events + # + # handler = Aws::BedrockAgentRuntime::EventStreams::ResponseStream.new + # handler.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # handler.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # handler.on_chunk_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::chunk + # end + # handler.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # handler.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # handler.on_files_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::files + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # handler.on_model_not_ready_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::modelNotReadyException + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # handler.on_return_control_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::returnControl + # end + # handler.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # handler.on_trace_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::trace + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # + # client.invoke_agent( + # # params inputs + # event_stream_handler: handler + # ) + # + # # 2) Use a Ruby Proc object + # # Example for registering callbacks with specific events + # handler = Proc.new do |stream| + # stream.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException # end + # stream.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # stream.on_chunk_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::chunk + # end + # stream.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # stream.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # stream.on_files_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::files + # end + # stream.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # stream.on_model_not_ready_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::modelNotReadyException + # end + # stream.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # stream.on_return_control_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::returnControl + # end + # stream.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # stream.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # stream.on_trace_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::trace + # end + # stream.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # end + # + # client.invoke_agent( + # # params inputs + # event_stream_handler: handler + # ) + # + # # Usage pattern c): Hybrid pattern of a) and b) + # handler = Aws::BedrockAgentRuntime::EventStreams::ResponseStream.new + # handler.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # handler.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # handler.on_chunk_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::chunk + # end + # handler.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # handler.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # handler.on_files_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::files + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # handler.on_model_not_ready_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::modelNotReadyException + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # handler.on_return_control_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::returnControl + # end + # handler.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # handler.on_trace_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::trace + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # + # client.invoke_agent( + # # params input + # event_stream_handler: handler + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # end # - # You can also iterate through events after the response complete. - # - # Events are available at resp.completion # => Enumerator - # For parameter input example, please refer to following request syntax + # # You can also iterate through events after the response complete. + # # Events are available at + # resp.completion # => Enumerator + # # For parameter input example, please refer to following request syntax. # # @example Request syntax with placeholder values # @@ -1493,18 +1499,18 @@ def get_session(params = {}, options = {}) # # @example Response structure # - # All events are available at resp.completion: + # # All events are available at resp.completion: # resp.completion #=> Enumerator # resp.completion.event_types #=> [:access_denied_exception, :bad_gateway_exception, :chunk, :conflict_exception, :dependency_failed_exception, :files, :internal_server_exception, :model_not_ready_exception, :resource_not_found_exception, :return_control, :service_quota_exceeded_exception, :throttling_exception, :trace, :validation_exception] # - # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: + # # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: + # # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: # event.message #=> String # event.resource_name #=> String # - # For :chunk event available at #on_chunk_event callback and response eventstream enumerator: + # # For :chunk event available at #on_chunk_event callback and response eventstream enumerator: # event.attribution.citations #=> Array # event.attribution.citations[0].generated_response_part.text_response_part.span.end #=> Integer # event.attribution.citations[0].generated_response_part.text_response_part.span.start #=> Integer @@ -1529,30 +1535,30 @@ def get_session(params = {}, options = {}) # event.attribution.citations[0].retrieved_references[0].metadata #=> Hash # event.bytes #=> String # - # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: + # # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: + # # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: # event.message #=> String # event.resource_name #=> String # - # For :files event available at #on_files_event callback and response eventstream enumerator: + # # For :files event available at #on_files_event callback and response eventstream enumerator: # event.files #=> Array # event.files[0].bytes #=> String # event.files[0].name #=> String # event.files[0].type #=> String # - # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: + # # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: # event.message #=> String # event.reason #=> String # - # For :model_not_ready_exception event available at #on_model_not_ready_exception_event callback and response eventstream enumerator: + # # For :model_not_ready_exception event available at #on_model_not_ready_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: + # # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :return_control event available at #on_return_control_event callback and response eventstream enumerator: + # # For :return_control event available at #on_return_control_event callback and response eventstream enumerator: # event.invocation_id #=> String # event.invocation_inputs #=> Array # event.invocation_inputs[0].api_invocation_input.action_group #=> String @@ -1580,13 +1586,13 @@ def get_session(params = {}, options = {}) # event.invocation_inputs[0].function_invocation_input.parameters[0].type #=> String # event.invocation_inputs[0].function_invocation_input.parameters[0].value #=> String # - # For :service_quota_exceeded_exception event available at #on_service_quota_exceeded_exception_event callback and response eventstream enumerator: + # # For :service_quota_exceeded_exception event available at #on_service_quota_exceeded_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: + # # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :trace event available at #on_trace_event callback and response eventstream enumerator: + # # For :trace event available at #on_trace_event callback and response eventstream enumerator: # event.agent_alias_id #=> String # event.agent_id #=> String # event.agent_version #=> String @@ -1952,7 +1958,7 @@ def get_session(params = {}, options = {}) # event.trace.routing_classifier_trace.observation.trace_id #=> String # event.trace.routing_classifier_trace.observation.type #=> String, one of "ACTION_GROUP", "AGENT_COLLABORATOR", "KNOWLEDGE_BASE", "FINISH", "ASK_USER", "REPROMPT" # - # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: + # # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: # event.message #=> String # # resp.content_type #=> String @@ -2035,194 +2041,200 @@ def invoke_agent(params = {}, options = {}, &block) # # @example EventStream Operation Example # - # You can process the event once it arrives immediately, or wait until the - # full response is complete and iterate through the eventstream enumerator. - # - # To interact with event immediately, you need to register #invoke_flow - # with callbacks. Callbacks can be registered for specific events or for all - # events, including error events. - # - # Callbacks can be passed into the `:event_stream_handler` option or within a - # block statement attached to the #invoke_flow call directly. Hybrid - # pattern of both is also supported. - # - # `:event_stream_handler` option takes in either a Proc object or - # Aws::BedrockAgentRuntime::EventStreams::FlowResponseStream object. - # - # Usage pattern a): Callbacks with a block attached to #invoke_flow - # Example for registering callbacks for all event types and an error event - # - # client.invoke_flow( # params input# ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # ... - # end - # + # # You can process the event once it arrives immediately, or wait until the + # # full response is complete and iterate through the eventstream enumerator. + # + # # To interact with event immediately, you need to register invoke_flow + # # with callbacks. Callbacks can be registered for specific events or for all + # # events, including error events. + # + # # Callbacks can be passed into the `:event_stream_handler` option or within a + # # block statement attached to the #invoke_flow call directly. Hybrid + # # pattern of both is also supported. + # + # # `:event_stream_handler` option takes in either a Proc object or + # # Aws::BedrockAgentRuntime::EventStreams::FlowResponseStream object. + # + # # Usage pattern a): Callbacks with a block attached to #invoke_flow + # # Example for registering callbacks for all event types and an error event + # client.invoke_flow( + # # params input + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String # end # - # Usage pattern b): Pass in `:event_stream_handler` for #invoke_flow - # - # 1) Create a Aws::BedrockAgentRuntime::EventStreams::FlowResponseStream object - # Example for registering callbacks with specific events - # - # handler = Aws::BedrockAgentRuntime::EventStreams::FlowResponseStream.new - # handler.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # handler.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # handler.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # handler.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # handler.on_flow_completion_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowCompletionEvent - # end - # handler.on_flow_multi_turn_input_request_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowMultiTurnInputRequestEvent - # end - # handler.on_flow_output_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowOutputEvent - # end - # handler.on_flow_trace_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowTraceEvent - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # handler.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end - # - # client.invoke_flow( # params input #, event_stream_handler: handler) - # - # 2) Use a Ruby Proc object - # Example for registering callbacks with specific events - # - # handler = Proc.new do |stream| - # stream.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # stream.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # stream.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # stream.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # stream.on_flow_completion_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowCompletionEvent - # end - # stream.on_flow_multi_turn_input_request_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowMultiTurnInputRequestEvent - # end - # stream.on_flow_output_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowOutputEvent - # end - # stream.on_flow_trace_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowTraceEvent - # end - # stream.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # stream.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # stream.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # stream.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # stream.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # # ... # end - # - # client.invoke_flow( # params input #, event_stream_handler: handler) - # - # Usage pattern c): Hybrid pattern of a) and b) - # - # handler = Aws::BedrockAgentRuntime::EventStreams::FlowResponseStream.new - # handler.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # handler.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # handler.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # handler.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # handler.on_flow_completion_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowCompletionEvent - # end - # handler.on_flow_multi_turn_input_request_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowMultiTurnInputRequestEvent - # end - # handler.on_flow_output_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowOutputEvent - # end - # handler.on_flow_trace_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowTraceEvent - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # handler.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end - # - # client.invoke_flow( # params input #, event_stream_handler: handler) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # end + # + # # Usage pattern b): Pass in `:event_stream_handler` for #invoke_flow + # # 1) Create a Aws::BedrockAgentRuntime::EventStreams::FlowResponseStream object + # # Example for registering callbacks with specific events + # + # handler = Aws::BedrockAgentRuntime::EventStreams::FlowResponseStream.new + # handler.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # handler.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # handler.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # handler.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # handler.on_flow_completion_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowCompletionEvent + # end + # handler.on_flow_multi_turn_input_request_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowMultiTurnInputRequestEvent + # end + # handler.on_flow_output_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowOutputEvent + # end + # handler.on_flow_trace_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowTraceEvent + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # handler.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # + # client.invoke_flow( + # # params inputs + # event_stream_handler: handler + # ) + # + # # 2) Use a Ruby Proc object + # # Example for registering callbacks with specific events + # handler = Proc.new do |stream| + # stream.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException # end + # stream.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # stream.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # stream.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # stream.on_flow_completion_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowCompletionEvent + # end + # stream.on_flow_multi_turn_input_request_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowMultiTurnInputRequestEvent + # end + # stream.on_flow_output_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowOutputEvent + # end + # stream.on_flow_trace_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowTraceEvent + # end + # stream.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # stream.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # stream.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # stream.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # stream.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # end + # + # client.invoke_flow( + # # params inputs + # event_stream_handler: handler + # ) + # + # # Usage pattern c): Hybrid pattern of a) and b) + # handler = Aws::BedrockAgentRuntime::EventStreams::FlowResponseStream.new + # handler.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # handler.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # handler.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # handler.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # handler.on_flow_completion_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowCompletionEvent + # end + # handler.on_flow_multi_turn_input_request_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowMultiTurnInputRequestEvent + # end + # handler.on_flow_output_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowOutputEvent + # end + # handler.on_flow_trace_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowTraceEvent + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # handler.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # + # client.invoke_flow( + # # params input + # event_stream_handler: handler + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # end # - # You can also iterate through events after the response complete. - # - # Events are available at resp.response_stream # => Enumerator - # For parameter input example, please refer to following request syntax + # # You can also iterate through events after the response complete. + # # Events are available at + # resp.response_stream # => Enumerator + # # For parameter input example, please refer to following request syntax. # # @example Request syntax with placeholder values # @@ -2252,36 +2264,36 @@ def invoke_agent(params = {}, options = {}, &block) # @example Response structure # # resp.execution_id #=> String - # All events are available at resp.response_stream: + # # All events are available at resp.response_stream: # resp.response_stream #=> Enumerator # resp.response_stream.event_types #=> [:access_denied_exception, :bad_gateway_exception, :conflict_exception, :dependency_failed_exception, :flow_completion_event, :flow_multi_turn_input_request_event, :flow_output_event, :flow_trace_event, :internal_server_exception, :resource_not_found_exception, :service_quota_exceeded_exception, :throttling_exception, :validation_exception] # - # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: + # # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: + # # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: # event.message #=> String # event.resource_name #=> String # - # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: + # # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: + # # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: # event.message #=> String # event.resource_name #=> String # - # For :flow_completion_event event available at #on_flow_completion_event_event callback and response eventstream enumerator: + # # For :flow_completion_event event available at #on_flow_completion_event_event callback and response eventstream enumerator: # event.completion_reason #=> String, one of "SUCCESS", "INPUT_REQUIRED" # - # For :flow_multi_turn_input_request_event event available at #on_flow_multi_turn_input_request_event_event callback and response eventstream enumerator: + # # For :flow_multi_turn_input_request_event event available at #on_flow_multi_turn_input_request_event_event callback and response eventstream enumerator: # event.node_name #=> String # event.node_type #=> String, one of "FlowInputNode", "FlowOutputNode", "LambdaFunctionNode", "KnowledgeBaseNode", "PromptNode", "ConditionNode", "LexNode" # - # For :flow_output_event event available at #on_flow_output_event_event callback and response eventstream enumerator: + # # For :flow_output_event event available at #on_flow_output_event_event callback and response eventstream enumerator: # event.node_name #=> String # event.node_type #=> String, one of "FlowInputNode", "FlowOutputNode", "LambdaFunctionNode", "KnowledgeBaseNode", "PromptNode", "ConditionNode", "LexNode" # - # For :flow_trace_event event available at #on_flow_trace_event_event callback and response eventstream enumerator: + # # For :flow_trace_event event available at #on_flow_trace_event_event callback and response eventstream enumerator: # event.trace.condition_node_result_trace.node_name #=> String # event.trace.condition_node_result_trace.satisfied_conditions #=> Array # event.trace.condition_node_result_trace.satisfied_conditions[0].condition_name #=> String @@ -2300,20 +2312,20 @@ def invoke_agent(params = {}, options = {}, &block) # event.trace.node_output_trace.node_name #=> String # event.trace.node_output_trace.timestamp #=> Time # - # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: + # # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: # event.message #=> String # event.reason #=> String # - # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: + # # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :service_quota_exceeded_exception event available at #on_service_quota_exceeded_exception_event callback and response eventstream enumerator: + # # For :service_quota_exceeded_exception event available at #on_service_quota_exceeded_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: + # # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: + # # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: # event.message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/InvokeFlow AWS API Documentation @@ -2486,194 +2498,200 @@ def invoke_flow(params = {}, options = {}, &block) # # @example EventStream Operation Example # - # You can process the event once it arrives immediately, or wait until the - # full response is complete and iterate through the eventstream enumerator. - # - # To interact with event immediately, you need to register #invoke_inline_agent - # with callbacks. Callbacks can be registered for specific events or for all - # events, including error events. - # - # Callbacks can be passed into the `:event_stream_handler` option or within a - # block statement attached to the #invoke_inline_agent call directly. Hybrid - # pattern of both is also supported. - # - # `:event_stream_handler` option takes in either a Proc object or - # Aws::BedrockAgentRuntime::EventStreams::InlineAgentResponseStream object. - # - # Usage pattern a): Callbacks with a block attached to #invoke_inline_agent - # Example for registering callbacks for all event types and an error event - # - # client.invoke_inline_agent( # params input# ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # ... - # end - # + # # You can process the event once it arrives immediately, or wait until the + # # full response is complete and iterate through the eventstream enumerator. + # + # # To interact with event immediately, you need to register invoke_inline_agent + # # with callbacks. Callbacks can be registered for specific events or for all + # # events, including error events. + # + # # Callbacks can be passed into the `:event_stream_handler` option or within a + # # block statement attached to the #invoke_inline_agent call directly. Hybrid + # # pattern of both is also supported. + # + # # `:event_stream_handler` option takes in either a Proc object or + # # Aws::BedrockAgentRuntime::EventStreams::InlineAgentResponseStream object. + # + # # Usage pattern a): Callbacks with a block attached to #invoke_inline_agent + # # Example for registering callbacks for all event types and an error event + # client.invoke_inline_agent( + # # params input + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String # end # - # Usage pattern b): Pass in `:event_stream_handler` for #invoke_inline_agent - # - # 1) Create a Aws::BedrockAgentRuntime::EventStreams::InlineAgentResponseStream object - # Example for registering callbacks with specific events - # - # handler = Aws::BedrockAgentRuntime::EventStreams::InlineAgentResponseStream.new - # handler.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # handler.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # handler.on_chunk_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::chunk - # end - # handler.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # handler.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # handler.on_files_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::files - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # handler.on_return_control_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::returnControl - # end - # handler.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # handler.on_trace_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::trace - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end - # - # client.invoke_inline_agent( # params input #, event_stream_handler: handler) - # - # 2) Use a Ruby Proc object - # Example for registering callbacks with specific events - # - # handler = Proc.new do |stream| - # stream.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # stream.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # stream.on_chunk_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::chunk - # end - # stream.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # stream.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # stream.on_files_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::files - # end - # stream.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # stream.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # stream.on_return_control_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::returnControl - # end - # stream.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # stream.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # stream.on_trace_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::trace - # end - # stream.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # # ... # end - # - # client.invoke_inline_agent( # params input #, event_stream_handler: handler) - # - # Usage pattern c): Hybrid pattern of a) and b) - # - # handler = Aws::BedrockAgentRuntime::EventStreams::InlineAgentResponseStream.new - # handler.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # handler.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # handler.on_chunk_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::chunk - # end - # handler.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # handler.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # handler.on_files_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::files - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # handler.on_return_control_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::returnControl - # end - # handler.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # handler.on_trace_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::trace - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end - # - # client.invoke_inline_agent( # params input #, event_stream_handler: handler) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # end + # + # # Usage pattern b): Pass in `:event_stream_handler` for #invoke_inline_agent + # # 1) Create a Aws::BedrockAgentRuntime::EventStreams::InlineAgentResponseStream object + # # Example for registering callbacks with specific events + # + # handler = Aws::BedrockAgentRuntime::EventStreams::InlineAgentResponseStream.new + # handler.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # handler.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # handler.on_chunk_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::chunk + # end + # handler.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # handler.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # handler.on_files_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::files + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # handler.on_return_control_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::returnControl + # end + # handler.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # handler.on_trace_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::trace + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # + # client.invoke_inline_agent( + # # params inputs + # event_stream_handler: handler + # ) + # + # # 2) Use a Ruby Proc object + # # Example for registering callbacks with specific events + # handler = Proc.new do |stream| + # stream.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException # end + # stream.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # stream.on_chunk_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::chunk + # end + # stream.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # stream.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # stream.on_files_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::files + # end + # stream.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # stream.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # stream.on_return_control_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::returnControl + # end + # stream.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # stream.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # stream.on_trace_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::trace + # end + # stream.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # end + # + # client.invoke_inline_agent( + # # params inputs + # event_stream_handler: handler + # ) + # + # # Usage pattern c): Hybrid pattern of a) and b) + # handler = Aws::BedrockAgentRuntime::EventStreams::InlineAgentResponseStream.new + # handler.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # handler.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # handler.on_chunk_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::chunk + # end + # handler.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # handler.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # handler.on_files_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::files + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # handler.on_return_control_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::returnControl + # end + # handler.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # handler.on_trace_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::trace + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # + # client.invoke_inline_agent( + # # params input + # event_stream_handler: handler + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # end # - # You can also iterate through events after the response complete. - # - # Events are available at resp.completion # => Enumerator - # For parameter input example, please refer to following request syntax + # # You can also iterate through events after the response complete. + # # Events are available at + # resp.completion # => Enumerator + # # For parameter input example, please refer to following request syntax. # # @example Request syntax with placeholder values # @@ -3169,18 +3187,18 @@ def invoke_flow(params = {}, options = {}, &block) # # @example Response structure # - # All events are available at resp.completion: + # # All events are available at resp.completion: # resp.completion #=> Enumerator # resp.completion.event_types #=> [:access_denied_exception, :bad_gateway_exception, :chunk, :conflict_exception, :dependency_failed_exception, :files, :internal_server_exception, :resource_not_found_exception, :return_control, :service_quota_exceeded_exception, :throttling_exception, :trace, :validation_exception] # - # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: + # # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: + # # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: # event.message #=> String # event.resource_name #=> String # - # For :chunk event available at #on_chunk_event callback and response eventstream enumerator: + # # For :chunk event available at #on_chunk_event callback and response eventstream enumerator: # event.attribution.citations #=> Array # event.attribution.citations[0].generated_response_part.text_response_part.span.end #=> Integer # event.attribution.citations[0].generated_response_part.text_response_part.span.start #=> Integer @@ -3205,27 +3223,27 @@ def invoke_flow(params = {}, options = {}, &block) # event.attribution.citations[0].retrieved_references[0].metadata #=> Hash # event.bytes #=> String # - # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: + # # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: + # # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: # event.message #=> String # event.resource_name #=> String # - # For :files event available at #on_files_event callback and response eventstream enumerator: + # # For :files event available at #on_files_event callback and response eventstream enumerator: # event.files #=> Array # event.files[0].bytes #=> String # event.files[0].name #=> String # event.files[0].type #=> String # - # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: + # # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: # event.message #=> String # event.reason #=> String # - # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: + # # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :return_control event available at #on_return_control_event callback and response eventstream enumerator: + # # For :return_control event available at #on_return_control_event callback and response eventstream enumerator: # event.invocation_id #=> String # event.invocation_inputs #=> Array # event.invocation_inputs[0].api_invocation_input.action_group #=> String @@ -3253,13 +3271,13 @@ def invoke_flow(params = {}, options = {}, &block) # event.invocation_inputs[0].function_invocation_input.parameters[0].type #=> String # event.invocation_inputs[0].function_invocation_input.parameters[0].value #=> String # - # For :service_quota_exceeded_exception event available at #on_service_quota_exceeded_exception_event callback and response eventstream enumerator: + # # For :service_quota_exceeded_exception event available at #on_service_quota_exceeded_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: + # # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :trace event available at #on_trace_event callback and response eventstream enumerator: + # # For :trace event available at #on_trace_event callback and response eventstream enumerator: # event.session_id #=> String # event.trace.custom_orchestration_trace.event.text #=> String # event.trace.custom_orchestration_trace.trace_id #=> String @@ -3618,7 +3636,7 @@ def invoke_flow(params = {}, options = {}, &block) # event.trace.routing_classifier_trace.observation.trace_id #=> String # event.trace.routing_classifier_trace.observation.type #=> String, one of "ACTION_GROUP", "AGENT_COLLABORATOR", "KNOWLEDGE_BASE", "FINISH", "ASK_USER", "REPROMPT" # - # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: + # # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: # event.message #=> String # # resp.content_type #=> String @@ -3876,149 +3894,155 @@ def list_tags_for_resource(params = {}, options = {}) # # @example EventStream Operation Example # - # You can process the event once it arrives immediately, or wait until the - # full response is complete and iterate through the eventstream enumerator. - # - # To interact with event immediately, you need to register #optimize_prompt - # with callbacks. Callbacks can be registered for specific events or for all - # events, including error events. - # - # Callbacks can be passed into the `:event_stream_handler` option or within a - # block statement attached to the #optimize_prompt call directly. Hybrid - # pattern of both is also supported. - # - # `:event_stream_handler` option takes in either a Proc object or - # Aws::BedrockAgentRuntime::EventStreams::OptimizedPromptStream object. - # - # Usage pattern a): Callbacks with a block attached to #optimize_prompt - # Example for registering callbacks for all event types and an error event - # - # client.optimize_prompt( # params input# ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # ... - # end - # + # # You can process the event once it arrives immediately, or wait until the + # # full response is complete and iterate through the eventstream enumerator. + # + # # To interact with event immediately, you need to register optimize_prompt + # # with callbacks. Callbacks can be registered for specific events or for all + # # events, including error events. + # + # # Callbacks can be passed into the `:event_stream_handler` option or within a + # # block statement attached to the #optimize_prompt call directly. Hybrid + # # pattern of both is also supported. + # + # # `:event_stream_handler` option takes in either a Proc object or + # # Aws::BedrockAgentRuntime::EventStreams::OptimizedPromptStream object. + # + # # Usage pattern a): Callbacks with a block attached to #optimize_prompt + # # Example for registering callbacks for all event types and an error event + # client.optimize_prompt( + # # params input + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String # end # - # Usage pattern b): Pass in `:event_stream_handler` for #optimize_prompt - # - # 1) Create a Aws::BedrockAgentRuntime::EventStreams::OptimizedPromptStream object - # Example for registering callbacks with specific events - # - # handler = Aws::BedrockAgentRuntime::EventStreams::OptimizedPromptStream.new - # handler.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # handler.on_analyze_prompt_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::analyzePromptEvent - # end - # handler.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # handler.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # handler.on_optimized_prompt_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::optimizedPromptEvent - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end - # - # client.optimize_prompt( # params input #, event_stream_handler: handler) - # - # 2) Use a Ruby Proc object - # Example for registering callbacks with specific events - # - # handler = Proc.new do |stream| - # stream.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # stream.on_analyze_prompt_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::analyzePromptEvent - # end - # stream.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # stream.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # stream.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # stream.on_optimized_prompt_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::optimizedPromptEvent - # end - # stream.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # stream.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # # ... # end - # - # client.optimize_prompt( # params input #, event_stream_handler: handler) - # - # Usage pattern c): Hybrid pattern of a) and b) - # - # handler = Aws::BedrockAgentRuntime::EventStreams::OptimizedPromptStream.new - # handler.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # handler.on_analyze_prompt_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::analyzePromptEvent - # end - # handler.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # handler.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # handler.on_optimized_prompt_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::optimizedPromptEvent - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end - # - # client.optimize_prompt( # params input #, event_stream_handler: handler) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # end + # + # # Usage pattern b): Pass in `:event_stream_handler` for #optimize_prompt + # # 1) Create a Aws::BedrockAgentRuntime::EventStreams::OptimizedPromptStream object + # # Example for registering callbacks with specific events + # + # handler = Aws::BedrockAgentRuntime::EventStreams::OptimizedPromptStream.new + # handler.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # handler.on_analyze_prompt_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::analyzePromptEvent + # end + # handler.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # handler.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # handler.on_optimized_prompt_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::optimizedPromptEvent + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # + # client.optimize_prompt( + # # params inputs + # event_stream_handler: handler + # ) + # + # # 2) Use a Ruby Proc object + # # Example for registering callbacks with specific events + # handler = Proc.new do |stream| + # stream.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException # end + # stream.on_analyze_prompt_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::analyzePromptEvent + # end + # stream.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # stream.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # stream.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # stream.on_optimized_prompt_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::optimizedPromptEvent + # end + # stream.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # stream.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # end + # + # client.optimize_prompt( + # # params inputs + # event_stream_handler: handler + # ) + # + # # Usage pattern c): Hybrid pattern of a) and b) + # handler = Aws::BedrockAgentRuntime::EventStreams::OptimizedPromptStream.new + # handler.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # handler.on_analyze_prompt_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::analyzePromptEvent + # end + # handler.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # handler.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # handler.on_optimized_prompt_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::optimizedPromptEvent + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # + # client.optimize_prompt( + # # params input + # event_stream_handler: handler + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # end # - # You can also iterate through events after the response complete. - # - # Events are available at resp.optimized_prompt # => Enumerator - # For parameter input example, please refer to following request syntax + # # You can also iterate through events after the response complete. + # # Events are available at + # resp.optimized_prompt # => Enumerator + # # For parameter input example, please refer to following request syntax. # # @example Request syntax with placeholder values # @@ -4033,35 +4057,35 @@ def list_tags_for_resource(params = {}, options = {}) # # @example Response structure # - # All events are available at resp.optimized_prompt: + # # All events are available at resp.optimized_prompt: # resp.optimized_prompt #=> Enumerator # resp.optimized_prompt.event_types #=> [:access_denied_exception, :analyze_prompt_event, :bad_gateway_exception, :dependency_failed_exception, :internal_server_exception, :optimized_prompt_event, :throttling_exception, :validation_exception] # - # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: + # # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :analyze_prompt_event event available at #on_analyze_prompt_event_event callback and response eventstream enumerator: + # # For :analyze_prompt_event event available at #on_analyze_prompt_event_event callback and response eventstream enumerator: # event.message #=> String # - # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: + # # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: # event.message #=> String # event.resource_name #=> String # - # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: + # # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: # event.message #=> String # event.resource_name #=> String # - # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: + # # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: # event.message #=> String # event.reason #=> String # - # For :optimized_prompt_event event available at #on_optimized_prompt_event_event callback and response eventstream enumerator: + # # For :optimized_prompt_event event available at #on_optimized_prompt_event_event callback and response eventstream enumerator: # event.optimized_prompt.text_prompt.text #=> String # - # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: + # # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: + # # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: # event.message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/OptimizePrompt AWS API Documentation @@ -4786,185 +4810,191 @@ def retrieve_and_generate(params = {}, options = {}) # # @example EventStream Operation Example # - # You can process the event once it arrives immediately, or wait until the - # full response is complete and iterate through the eventstream enumerator. - # - # To interact with event immediately, you need to register #retrieve_and_generate_stream - # with callbacks. Callbacks can be registered for specific events or for all - # events, including error events. - # - # Callbacks can be passed into the `:event_stream_handler` option or within a - # block statement attached to the #retrieve_and_generate_stream call directly. Hybrid - # pattern of both is also supported. - # - # `:event_stream_handler` option takes in either a Proc object or - # Aws::BedrockAgentRuntime::EventStreams::RetrieveAndGenerateStreamResponseOutput object. - # - # Usage pattern a): Callbacks with a block attached to #retrieve_and_generate_stream - # Example for registering callbacks for all event types and an error event - # - # client.retrieve_and_generate_stream( # params input# ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # ... - # end - # + # # You can process the event once it arrives immediately, or wait until the + # # full response is complete and iterate through the eventstream enumerator. + # + # # To interact with event immediately, you need to register retrieve_and_generate_stream + # # with callbacks. Callbacks can be registered for specific events or for all + # # events, including error events. + # + # # Callbacks can be passed into the `:event_stream_handler` option or within a + # # block statement attached to the #retrieve_and_generate_stream call directly. Hybrid + # # pattern of both is also supported. + # + # # `:event_stream_handler` option takes in either a Proc object or + # # Aws::BedrockAgentRuntime::EventStreams::RetrieveAndGenerateStreamResponseOutput object. + # + # # Usage pattern a): Callbacks with a block attached to #retrieve_and_generate_stream + # # Example for registering callbacks for all event types and an error event + # client.retrieve_and_generate_stream( + # # params input + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String # end # - # Usage pattern b): Pass in `:event_stream_handler` for #retrieve_and_generate_stream - # - # 1) Create a Aws::BedrockAgentRuntime::EventStreams::RetrieveAndGenerateStreamResponseOutput object - # Example for registering callbacks with specific events - # - # handler = Aws::BedrockAgentRuntime::EventStreams::RetrieveAndGenerateStreamResponseOutput.new - # handler.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # handler.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # handler.on_citation_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::citation - # end - # handler.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # handler.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # handler.on_guardrail_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::guardrail - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # handler.on_output_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::output - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # handler.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end - # - # client.retrieve_and_generate_stream( # params input #, event_stream_handler: handler) - # - # 2) Use a Ruby Proc object - # Example for registering callbacks with specific events - # - # handler = Proc.new do |stream| - # stream.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # stream.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # stream.on_citation_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::citation - # end - # stream.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # stream.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # stream.on_guardrail_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::guardrail - # end - # stream.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # stream.on_output_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::output - # end - # stream.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # stream.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # stream.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # stream.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # # ... # end - # - # client.retrieve_and_generate_stream( # params input #, event_stream_handler: handler) - # - # Usage pattern c): Hybrid pattern of a) and b) - # - # handler = Aws::BedrockAgentRuntime::EventStreams::RetrieveAndGenerateStreamResponseOutput.new - # handler.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # handler.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # handler.on_citation_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::citation - # end - # handler.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # handler.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # handler.on_guardrail_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::guardrail - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # handler.on_output_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::output - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # handler.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end - # - # client.retrieve_and_generate_stream( # params input #, event_stream_handler: handler) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # end + # + # # Usage pattern b): Pass in `:event_stream_handler` for #retrieve_and_generate_stream + # # 1) Create a Aws::BedrockAgentRuntime::EventStreams::RetrieveAndGenerateStreamResponseOutput object + # # Example for registering callbacks with specific events + # + # handler = Aws::BedrockAgentRuntime::EventStreams::RetrieveAndGenerateStreamResponseOutput.new + # handler.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # handler.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # handler.on_citation_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::citation + # end + # handler.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # handler.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # handler.on_guardrail_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::guardrail + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # handler.on_output_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::output + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # handler.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # + # client.retrieve_and_generate_stream( + # # params inputs + # event_stream_handler: handler + # ) + # + # # 2) Use a Ruby Proc object + # # Example for registering callbacks with specific events + # handler = Proc.new do |stream| + # stream.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException # end + # stream.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # stream.on_citation_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::citation + # end + # stream.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # stream.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # stream.on_guardrail_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::guardrail + # end + # stream.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # stream.on_output_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::output + # end + # stream.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # stream.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # stream.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # stream.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # end + # + # client.retrieve_and_generate_stream( + # # params inputs + # event_stream_handler: handler + # ) + # + # # Usage pattern c): Hybrid pattern of a) and b) + # handler = Aws::BedrockAgentRuntime::EventStreams::RetrieveAndGenerateStreamResponseOutput.new + # handler.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # handler.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # handler.on_citation_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::citation + # end + # handler.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # handler.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # handler.on_guardrail_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::guardrail + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # handler.on_output_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::output + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # handler.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # + # client.retrieve_and_generate_stream( + # # params input + # event_stream_handler: handler + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # end # - # You can also iterate through events after the response complete. - # - # Events are available at resp.stream # => Enumerator - # For parameter input example, please refer to following request syntax + # # You can also iterate through events after the response complete. + # # Events are available at + # resp.stream # => Enumerator + # # For parameter input example, please refer to following request syntax. # # @example Request syntax with placeholder values # @@ -5186,18 +5216,18 @@ def retrieve_and_generate(params = {}, options = {}) # @example Response structure # # resp.session_id #=> String - # All events are available at resp.stream: + # # All events are available at resp.stream: # resp.stream #=> Enumerator # resp.stream.event_types #=> [:access_denied_exception, :bad_gateway_exception, :citation, :conflict_exception, :dependency_failed_exception, :guardrail, :internal_server_exception, :output, :resource_not_found_exception, :service_quota_exceeded_exception, :throttling_exception, :validation_exception] # - # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: + # # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: + # # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: # event.message #=> String # event.resource_name #=> String # - # For :citation event available at #on_citation_event callback and response eventstream enumerator: + # # For :citation event available at #on_citation_event callback and response eventstream enumerator: # event.citation.generated_response_part.text_response_part.span.end #=> Integer # event.citation.generated_response_part.text_response_part.span.start #=> Integer # event.citation.generated_response_part.text_response_part.text #=> String @@ -5241,33 +5271,33 @@ def retrieve_and_generate(params = {}, options = {}) # event.retrieved_references[0].location.web_location.url #=> String # event.retrieved_references[0].metadata #=> Hash # - # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: + # # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: + # # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: # event.message #=> String # event.resource_name #=> String # - # For :guardrail event available at #on_guardrail_event callback and response eventstream enumerator: + # # For :guardrail event available at #on_guardrail_event callback and response eventstream enumerator: # event.action #=> String, one of "INTERVENED", "NONE" # - # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: + # # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: # event.message #=> String # event.reason #=> String # - # For :output event available at #on_output_event callback and response eventstream enumerator: + # # For :output event available at #on_output_event callback and response eventstream enumerator: # event.text #=> String # - # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: + # # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :service_quota_exceeded_exception event available at #on_service_quota_exceeded_exception_event callback and response eventstream enumerator: + # # For :service_quota_exceeded_exception event available at #on_service_quota_exceeded_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: + # # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: + # # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: # event.message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/RetrieveAndGenerateStream AWS API Documentation diff --git a/gems/aws-sdk-bedrockruntime/sig/async_client.rbs b/gems/aws-sdk-bedrockruntime/sig/async_client.rbs index 69b4d4e1e11..20c4a219cd4 100644 --- a/gems/aws-sdk-bedrockruntime/sig/async_client.rbs +++ b/gems/aws-sdk-bedrockruntime/sig/async_client.rbs @@ -44,7 +44,7 @@ module Aws ?secret_access_key: String, ?session_token: String, ?sigv4a_signing_region_set: Array[String], - ?stub_responses: bool, + ?stub_responses: untyped, ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, ?token_provider: untyped, ?use_dualstack_endpoint: bool, diff --git a/gems/aws-sdk-bedrockruntime/sig/client.rbs b/gems/aws-sdk-bedrockruntime/sig/client.rbs index e45a81939a0..6cbb67b9f7f 100644 --- a/gems/aws-sdk-bedrockruntime/sig/client.rbs +++ b/gems/aws-sdk-bedrockruntime/sig/client.rbs @@ -55,7 +55,7 @@ module Aws ?secret_access_key: String, ?session_token: String, ?sigv4a_signing_region_set: Array[String], - ?stub_responses: bool, + ?stub_responses: untyped, ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, ?token_provider: untyped, ?use_dualstack_endpoint: bool, diff --git a/gems/aws-sdk-bedrockruntime/sig/resource.rbs b/gems/aws-sdk-bedrockruntime/sig/resource.rbs index 7df6bf367aa..4fced24dfdc 100644 --- a/gems/aws-sdk-bedrockruntime/sig/resource.rbs +++ b/gems/aws-sdk-bedrockruntime/sig/resource.rbs @@ -55,7 +55,7 @@ module Aws ?secret_access_key: String, ?session_token: String, ?sigv4a_signing_region_set: Array[String], - ?stub_responses: bool, + ?stub_responses: untyped, ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, ?token_provider: untyped, ?use_dualstack_endpoint: bool, diff --git a/gems/aws-sdk-cloudwatchlogs/lib/aws-sdk-cloudwatchlogs/client.rb b/gems/aws-sdk-cloudwatchlogs/lib/aws-sdk-cloudwatchlogs/client.rb index 94cda116440..5b1a549ec78 100644 --- a/gems/aws-sdk-cloudwatchlogs/lib/aws-sdk-cloudwatchlogs/client.rb +++ b/gems/aws-sdk-cloudwatchlogs/lib/aws-sdk-cloudwatchlogs/client.rb @@ -6098,113 +6098,119 @@ def put_transformer(params = {}, options = {}) # # @example EventStream Operation Example # - # You can process the event once it arrives immediately, or wait until the - # full response is complete and iterate through the eventstream enumerator. - # - # To interact with event immediately, you need to register #start_live_tail - # with callbacks. Callbacks can be registered for specific events or for all - # events, including error events. - # - # Callbacks can be passed into the `:event_stream_handler` option or within a - # block statement attached to the #start_live_tail call directly. Hybrid - # pattern of both is also supported. - # - # `:event_stream_handler` option takes in either a Proc object or - # Aws::CloudWatchLogs::EventStreams::StartLiveTailResponseStream object. - # - # Usage pattern a): Callbacks with a block attached to #start_live_tail - # Example for registering callbacks for all event types and an error event - # - # client.start_live_tail( # params input# ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # ... - # end - # + # # You can process the event once it arrives immediately, or wait until the + # # full response is complete and iterate through the eventstream enumerator. + # + # # To interact with event immediately, you need to register start_live_tail + # # with callbacks. Callbacks can be registered for specific events or for all + # # events, including error events. + # + # # Callbacks can be passed into the `:event_stream_handler` option or within a + # # block statement attached to the #start_live_tail call directly. Hybrid + # # pattern of both is also supported. + # + # # `:event_stream_handler` option takes in either a Proc object or + # # Aws::CloudWatchLogs::EventStreams::StartLiveTailResponseStream object. + # + # # Usage pattern a): Callbacks with a block attached to #start_live_tail + # # Example for registering callbacks for all event types and an error event + # client.start_live_tail( + # # params input + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String # end # - # Usage pattern b): Pass in `:event_stream_handler` for #start_live_tail - # - # 1) Create a Aws::CloudWatchLogs::EventStreams::StartLiveTailResponseStream object - # Example for registering callbacks with specific events - # - # handler = Aws::CloudWatchLogs::EventStreams::StartLiveTailResponseStream.new - # handler.on_session_start_event do |event| - # event # => Aws::CloudWatchLogs::Types::sessionStart - # end - # handler.on_session_update_event do |event| - # event # => Aws::CloudWatchLogs::Types::sessionUpdate - # end - # handler.on_session_timeout_exception_event do |event| - # event # => Aws::CloudWatchLogs::Types::SessionTimeoutException - # end - # handler.on_session_streaming_exception_event do |event| - # event # => Aws::CloudWatchLogs::Types::SessionStreamingException - # end - # - # client.start_live_tail( # params input #, event_stream_handler: handler) - # - # 2) Use a Ruby Proc object - # Example for registering callbacks with specific events - # - # handler = Proc.new do |stream| - # stream.on_session_start_event do |event| - # event # => Aws::CloudWatchLogs::Types::sessionStart - # end - # stream.on_session_update_event do |event| - # event # => Aws::CloudWatchLogs::Types::sessionUpdate - # end - # stream.on_session_timeout_exception_event do |event| - # event # => Aws::CloudWatchLogs::Types::SessionTimeoutException - # end - # stream.on_session_streaming_exception_event do |event| - # event # => Aws::CloudWatchLogs::Types::SessionStreamingException - # end + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # # ... # end - # - # client.start_live_tail( # params input #, event_stream_handler: handler) - # - # Usage pattern c): Hybrid pattern of a) and b) - # - # handler = Aws::CloudWatchLogs::EventStreams::StartLiveTailResponseStream.new - # handler.on_session_start_event do |event| - # event # => Aws::CloudWatchLogs::Types::sessionStart - # end - # handler.on_session_update_event do |event| - # event # => Aws::CloudWatchLogs::Types::sessionUpdate - # end - # handler.on_session_timeout_exception_event do |event| - # event # => Aws::CloudWatchLogs::Types::SessionTimeoutException - # end - # handler.on_session_streaming_exception_event do |event| - # event # => Aws::CloudWatchLogs::Types::SessionStreamingException - # end - # - # client.start_live_tail( # params input #, event_stream_handler: handler) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # end + # + # # Usage pattern b): Pass in `:event_stream_handler` for #start_live_tail + # # 1) Create a Aws::CloudWatchLogs::EventStreams::StartLiveTailResponseStream object + # # Example for registering callbacks with specific events + # + # handler = Aws::CloudWatchLogs::EventStreams::StartLiveTailResponseStream.new + # handler.on_session_start_event do |event| + # event # => Aws::CloudWatchLogs::Types::sessionStart + # end + # handler.on_session_update_event do |event| + # event # => Aws::CloudWatchLogs::Types::sessionUpdate + # end + # handler.on_session_timeout_exception_event do |event| + # event # => Aws::CloudWatchLogs::Types::SessionTimeoutException + # end + # handler.on_session_streaming_exception_event do |event| + # event # => Aws::CloudWatchLogs::Types::SessionStreamingException + # end + # + # client.start_live_tail( + # # params inputs + # event_stream_handler: handler + # ) + # + # # 2) Use a Ruby Proc object + # # Example for registering callbacks with specific events + # handler = Proc.new do |stream| + # stream.on_session_start_event do |event| + # event # => Aws::CloudWatchLogs::Types::sessionStart # end + # stream.on_session_update_event do |event| + # event # => Aws::CloudWatchLogs::Types::sessionUpdate + # end + # stream.on_session_timeout_exception_event do |event| + # event # => Aws::CloudWatchLogs::Types::SessionTimeoutException + # end + # stream.on_session_streaming_exception_event do |event| + # event # => Aws::CloudWatchLogs::Types::SessionStreamingException + # end + # end + # + # client.start_live_tail( + # # params inputs + # event_stream_handler: handler + # ) + # + # # Usage pattern c): Hybrid pattern of a) and b) + # handler = Aws::CloudWatchLogs::EventStreams::StartLiveTailResponseStream.new + # handler.on_session_start_event do |event| + # event # => Aws::CloudWatchLogs::Types::sessionStart + # end + # handler.on_session_update_event do |event| + # event # => Aws::CloudWatchLogs::Types::sessionUpdate + # end + # handler.on_session_timeout_exception_event do |event| + # event # => Aws::CloudWatchLogs::Types::SessionTimeoutException + # end + # handler.on_session_streaming_exception_event do |event| + # event # => Aws::CloudWatchLogs::Types::SessionStreamingException + # end + # + # client.start_live_tail( + # # params input + # event_stream_handler: handler + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # end # - # You can also iterate through events after the response complete. - # - # Events are available at resp.response_stream # => Enumerator - # For parameter input example, please refer to following request syntax + # # You can also iterate through events after the response complete. + # # Events are available at + # resp.response_stream # => Enumerator + # # For parameter input example, please refer to following request syntax. # # @example Request syntax with placeholder values # @@ -6217,11 +6223,11 @@ def put_transformer(params = {}, options = {}) # # @example Response structure # - # All events are available at resp.response_stream: + # # All events are available at resp.response_stream: # resp.response_stream #=> Enumerator # resp.response_stream.event_types #=> [:session_start, :session_update, :session_timeout_exception, :session_streaming_exception] # - # For :session_start event available at #on_session_start_event callback and response eventstream enumerator: + # # For :session_start event available at #on_session_start_event callback and response eventstream enumerator: # event.request_id #=> String # event.session_id #=> String # event.log_group_identifiers #=> Array @@ -6232,7 +6238,7 @@ def put_transformer(params = {}, options = {}) # event.log_stream_name_prefixes[0] #=> String # event.log_event_filter_pattern #=> String # - # For :session_update event available at #on_session_update_event callback and response eventstream enumerator: + # # For :session_update event available at #on_session_update_event callback and response eventstream enumerator: # event.session_metadata.sampled #=> Boolean # event.session_results #=> Array # event.session_results[0].log_stream_name #=> String @@ -6241,10 +6247,10 @@ def put_transformer(params = {}, options = {}) # event.session_results[0].timestamp #=> Integer # event.session_results[0].ingestion_time #=> Integer # - # For :session_timeout_exception event available at #on_session_timeout_exception_event callback and response eventstream enumerator: + # # For :session_timeout_exception event available at #on_session_timeout_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :session_streaming_exception event available at #on_session_streaming_exception_event callback and response eventstream enumerator: + # # For :session_streaming_exception event available at #on_session_streaming_exception_event callback and response eventstream enumerator: # event.message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/StartLiveTail AWS API Documentation diff --git a/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/client.rb b/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/client.rb index b9784f57b4b..e6b8716089d 100644 --- a/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/client.rb +++ b/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/client.rb @@ -4675,158 +4675,164 @@ def get_interpolated_asset_property_values(params = {}, options = {}) # # @example EventStream Operation Example # - # You can process the event once it arrives immediately, or wait until the - # full response is complete and iterate through the eventstream enumerator. - # - # To interact with event immediately, you need to register #invoke_assistant - # with callbacks. Callbacks can be registered for specific events or for all - # events, including error events. - # - # Callbacks can be passed into the `:event_stream_handler` option or within a - # block statement attached to the #invoke_assistant call directly. Hybrid - # pattern of both is also supported. - # - # `:event_stream_handler` option takes in either a Proc object or - # Aws::IoTSiteWise::EventStreams::ResponseStream object. - # - # Usage pattern a): Callbacks with a block attached to #invoke_assistant - # Example for registering callbacks for all event types and an error event - # - # client.invoke_assistant( # params input# ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # ... - # end - # + # # You can process the event once it arrives immediately, or wait until the + # # full response is complete and iterate through the eventstream enumerator. + # + # # To interact with event immediately, you need to register invoke_assistant + # # with callbacks. Callbacks can be registered for specific events or for all + # # events, including error events. + # + # # Callbacks can be passed into the `:event_stream_handler` option or within a + # # block statement attached to the #invoke_assistant call directly. Hybrid + # # pattern of both is also supported. + # + # # `:event_stream_handler` option takes in either a Proc object or + # # Aws::IoTSiteWise::EventStreams::ResponseStream object. + # + # # Usage pattern a): Callbacks with a block attached to #invoke_assistant + # # Example for registering callbacks for all event types and an error event + # client.invoke_assistant( + # # params input + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String # end # - # Usage pattern b): Pass in `:event_stream_handler` for #invoke_assistant - # - # 1) Create a Aws::IoTSiteWise::EventStreams::ResponseStream object - # Example for registering callbacks with specific events - # - # handler = Aws::IoTSiteWise::EventStreams::ResponseStream.new - # handler.on_trace_event do |event| - # event # => Aws::IoTSiteWise::Types::trace - # end - # handler.on_output_event do |event| - # event # => Aws::IoTSiteWise::Types::output - # end - # handler.on_access_denied_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::accessDeniedException - # end - # handler.on_conflicting_operation_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::conflictingOperationException - # end - # handler.on_internal_failure_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::internalFailureException - # end - # handler.on_invalid_request_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::invalidRequestException - # end - # handler.on_limit_exceeded_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::limitExceededException - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::resourceNotFoundException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::throttlingException - # end - # - # client.invoke_assistant( # params input #, event_stream_handler: handler) - # - # 2) Use a Ruby Proc object - # Example for registering callbacks with specific events - # - # handler = Proc.new do |stream| - # stream.on_trace_event do |event| - # event # => Aws::IoTSiteWise::Types::trace - # end - # stream.on_output_event do |event| - # event # => Aws::IoTSiteWise::Types::output - # end - # stream.on_access_denied_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::accessDeniedException - # end - # stream.on_conflicting_operation_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::conflictingOperationException - # end - # stream.on_internal_failure_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::internalFailureException - # end - # stream.on_invalid_request_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::invalidRequestException - # end - # stream.on_limit_exceeded_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::limitExceededException - # end - # stream.on_resource_not_found_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::resourceNotFoundException - # end - # stream.on_throttling_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::throttlingException - # end + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # # ... # end - # - # client.invoke_assistant( # params input #, event_stream_handler: handler) - # - # Usage pattern c): Hybrid pattern of a) and b) - # - # handler = Aws::IoTSiteWise::EventStreams::ResponseStream.new - # handler.on_trace_event do |event| - # event # => Aws::IoTSiteWise::Types::trace - # end - # handler.on_output_event do |event| - # event # => Aws::IoTSiteWise::Types::output - # end - # handler.on_access_denied_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::accessDeniedException - # end - # handler.on_conflicting_operation_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::conflictingOperationException - # end - # handler.on_internal_failure_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::internalFailureException - # end - # handler.on_invalid_request_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::invalidRequestException - # end - # handler.on_limit_exceeded_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::limitExceededException - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::resourceNotFoundException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::throttlingException - # end - # - # client.invoke_assistant( # params input #, event_stream_handler: handler) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # end + # + # # Usage pattern b): Pass in `:event_stream_handler` for #invoke_assistant + # # 1) Create a Aws::IoTSiteWise::EventStreams::ResponseStream object + # # Example for registering callbacks with specific events + # + # handler = Aws::IoTSiteWise::EventStreams::ResponseStream.new + # handler.on_trace_event do |event| + # event # => Aws::IoTSiteWise::Types::trace + # end + # handler.on_output_event do |event| + # event # => Aws::IoTSiteWise::Types::output + # end + # handler.on_access_denied_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::accessDeniedException + # end + # handler.on_conflicting_operation_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::conflictingOperationException + # end + # handler.on_internal_failure_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::internalFailureException + # end + # handler.on_invalid_request_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::invalidRequestException + # end + # handler.on_limit_exceeded_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::limitExceededException + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::resourceNotFoundException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::throttlingException + # end + # + # client.invoke_assistant( + # # params inputs + # event_stream_handler: handler + # ) + # + # # 2) Use a Ruby Proc object + # # Example for registering callbacks with specific events + # handler = Proc.new do |stream| + # stream.on_trace_event do |event| + # event # => Aws::IoTSiteWise::Types::trace # end + # stream.on_output_event do |event| + # event # => Aws::IoTSiteWise::Types::output + # end + # stream.on_access_denied_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::accessDeniedException + # end + # stream.on_conflicting_operation_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::conflictingOperationException + # end + # stream.on_internal_failure_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::internalFailureException + # end + # stream.on_invalid_request_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::invalidRequestException + # end + # stream.on_limit_exceeded_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::limitExceededException + # end + # stream.on_resource_not_found_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::resourceNotFoundException + # end + # stream.on_throttling_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::throttlingException + # end + # end + # + # client.invoke_assistant( + # # params inputs + # event_stream_handler: handler + # ) + # + # # Usage pattern c): Hybrid pattern of a) and b) + # handler = Aws::IoTSiteWise::EventStreams::ResponseStream.new + # handler.on_trace_event do |event| + # event # => Aws::IoTSiteWise::Types::trace + # end + # handler.on_output_event do |event| + # event # => Aws::IoTSiteWise::Types::output + # end + # handler.on_access_denied_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::accessDeniedException + # end + # handler.on_conflicting_operation_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::conflictingOperationException + # end + # handler.on_internal_failure_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::internalFailureException + # end + # handler.on_invalid_request_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::invalidRequestException + # end + # handler.on_limit_exceeded_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::limitExceededException + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::resourceNotFoundException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::throttlingException + # end + # + # client.invoke_assistant( + # # params input + # event_stream_handler: handler + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # end # - # You can also iterate through events after the response complete. - # - # Events are available at resp.body # => Enumerator - # For parameter input example, please refer to following request syntax + # # You can also iterate through events after the response complete. + # # Events are available at + # resp.body # => Enumerator + # # For parameter input example, please refer to following request syntax. # # @example Request syntax with placeholder values # @@ -4838,14 +4844,14 @@ def get_interpolated_asset_property_values(params = {}, options = {}) # # @example Response structure # - # All events are available at resp.body: + # # All events are available at resp.body: # resp.body #=> Enumerator # resp.body.event_types #=> [:trace, :output, :access_denied_exception, :conflicting_operation_exception, :internal_failure_exception, :invalid_request_exception, :limit_exceeded_exception, :resource_not_found_exception, :throttling_exception] # - # For :trace event available at #on_trace_event callback and response eventstream enumerator: + # # For :trace event available at #on_trace_event callback and response eventstream enumerator: # event.text #=> String # - # For :output event available at #on_output_event callback and response eventstream enumerator: + # # For :output event available at #on_output_event callback and response eventstream enumerator: # event.message #=> String # event.citations #=> Array # event.citations[0].reference.dataset.dataset_arn #=> String @@ -4853,27 +4859,27 @@ def get_interpolated_asset_property_values(params = {}, options = {}) # event.citations[0].reference.dataset.source.location.uri #=> String # event.citations[0].content.text #=> String # - # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: + # # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :conflicting_operation_exception event available at #on_conflicting_operation_exception_event callback and response eventstream enumerator: + # # For :conflicting_operation_exception event available at #on_conflicting_operation_exception_event callback and response eventstream enumerator: # event.message #=> String # event.resource_id #=> String # event.resource_arn #=> String # - # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: + # # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :invalid_request_exception event available at #on_invalid_request_exception_event callback and response eventstream enumerator: + # # For :invalid_request_exception event available at #on_invalid_request_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :limit_exceeded_exception event available at #on_limit_exceeded_exception_event callback and response eventstream enumerator: + # # For :limit_exceeded_exception event available at #on_limit_exceeded_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: + # # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: + # # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: # event.message #=> String # # resp.conversation_id #=> String diff --git a/gems/aws-sdk-kinesis/lib/aws-sdk-kinesis/async_client.rb b/gems/aws-sdk-kinesis/lib/aws-sdk-kinesis/async_client.rb index fda1a642043..54e591e71c2 100644 --- a/gems/aws-sdk-kinesis/lib/aws-sdk-kinesis/async_client.rb +++ b/gems/aws-sdk-kinesis/lib/aws-sdk-kinesis/async_client.rb @@ -10,32 +10,44 @@ begin require 'http/2' rescue LoadError; end -require 'aws-sdk-core/plugins/credentials_configuration.rb' -require 'aws-sdk-core/plugins/logging.rb' -require 'aws-sdk-core/plugins/param_converter.rb' -require 'aws-sdk-core/plugins/param_validator.rb' -require 'aws-sdk-core/plugins/user_agent.rb' -require 'aws-sdk-core/plugins/helpful_socket_errors.rb' -require 'aws-sdk-core/plugins/retry_errors.rb' -require 'aws-sdk-core/plugins/global_configuration.rb' -require 'aws-sdk-core/plugins/regional_endpoint.rb' -require 'aws-sdk-core/plugins/stub_responses.rb' -require 'aws-sdk-core/plugins/idempotency_token.rb' -require 'aws-sdk-core/plugins/invocation_id.rb' -require 'aws-sdk-core/plugins/jsonvalue_converter.rb' -require 'aws-sdk-core/plugins/http_checksum.rb' -require 'aws-sdk-core/plugins/checksum_algorithm.rb' -require 'aws-sdk-core/plugins/request_compression.rb' -require 'aws-sdk-core/plugins/defaults_mode.rb' -require 'aws-sdk-core/plugins/recursion_detection.rb' -require 'aws-sdk-core/plugins/telemetry.rb' -require 'aws-sdk-core/plugins/sign.rb' -require 'aws-sdk-core/plugins/protocols/json_rpc.rb' -require 'aws-sdk-core/plugins/event_stream_configuration.rb' +require 'aws-sdk-core/plugins/credentials_configuration' +require 'aws-sdk-core/plugins/logging' +require 'aws-sdk-core/plugins/param_converter' +require 'aws-sdk-core/plugins/param_validator' +require 'aws-sdk-core/plugins/user_agent' +require 'aws-sdk-core/plugins/helpful_socket_errors' +require 'aws-sdk-core/plugins/retry_errors' +require 'aws-sdk-core/plugins/global_configuration' +require 'aws-sdk-core/plugins/regional_endpoint' +require 'aws-sdk-core/plugins/stub_responses' +require 'aws-sdk-core/plugins/idempotency_token' +require 'aws-sdk-core/plugins/invocation_id' +require 'aws-sdk-core/plugins/jsonvalue_converter' +require 'aws-sdk-core/plugins/http_checksum' +require 'aws-sdk-core/plugins/checksum_algorithm' +require 'aws-sdk-core/plugins/request_compression' +require 'aws-sdk-core/plugins/defaults_mode' +require 'aws-sdk-core/plugins/recursion_detection' +require 'aws-sdk-core/plugins/telemetry' +require 'aws-sdk-core/plugins/sign' +require 'aws-sdk-core/plugins/protocols/json_rpc' +require 'aws-sdk-core/plugins/event_stream_configuration' Aws::Plugins::GlobalConfiguration.add_identifier(:kinesis) module Aws::Kinesis + # An API async client for Kinesis. To construct an async client, you need to configure a `:region` and `:credentials`. + # + # async_client = Aws::Kinesis::AsyncClient.new( + # region: region_name, + # credentials: credentials, + # # ... + # ) + # + # For details on configuring region and credentials see + # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html). + # + # See {#initialize} for a full list of supported configuration options. class AsyncClient < Seahorse::Client::AsyncBase include Aws::AsyncClientStubs @@ -68,6 +80,13 @@ class AsyncClient < Seahorse::Client::AsyncBase add_plugin(Aws::Plugins::EventStreamConfiguration) add_plugin(Aws::Kinesis::Plugins::Endpoints) + # @overload initialize(options) + # @param [Hash] options + # + # @option options [Array] :plugins ([]]) + # A list of plugins to apply to the client. Each plugin is either a + # class name or an instance of a plugin class. + # # @option options [required, Aws::CredentialProvider] :credentials # Your AWS credentials. This can be an instance of any one of the # following classes: @@ -445,167 +464,173 @@ def initialize(*args) # # @example EventStream Operation Example # - # You can process the event once it arrives immediately, or wait until the - # full response is complete and iterate through the eventstream enumerator. - # - # To interact with event immediately, you need to register #subscribe_to_shard - # with callbacks. Callbacks can be registered for specific events or for all - # events, including error events. - # - # Callbacks can be passed into the `:event_stream_handler` option or within a - # block statement attached to the #subscribe_to_shard call directly. Hybrid - # pattern of both is also supported. - # - # `:event_stream_handler` option takes in either a Proc object or - # Aws::Kinesis::EventStreams::SubscribeToShardEventStream object. - # - # Usage pattern a): Callbacks with a block attached to #subscribe_to_shard - # Example for registering callbacks for all event types and an error event - # - # client.subscribe_to_shard( # params input# ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # ... - # end - # + # # You can process the event once it arrives immediately, or wait until the + # # full response is complete and iterate through the eventstream enumerator. + # + # # To interact with event immediately, you need to register subscribe_to_shard + # # with callbacks. Callbacks can be registered for specific events or for all + # # events, including error events. + # + # # Callbacks can be passed into the `:event_stream_handler` option or within a + # # block statement attached to the #subscribe_to_shard call directly. Hybrid + # # pattern of both is also supported. + # + # # `:event_stream_handler` option takes in either a Proc object or + # # Aws::Kinesis::EventStreams::SubscribeToShardEventStream object. + # + # # Usage pattern a): Callbacks with a block attached to #subscribe_to_shard + # # Example for registering callbacks for all event types and an error event + # client.subscribe_to_shard( + # # params input + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String # end # - # Usage pattern b): Pass in `:event_stream_handler` for #subscribe_to_shard - # - # 1) Create a Aws::Kinesis::EventStreams::SubscribeToShardEventStream object - # Example for registering callbacks with specific events - # - # handler = Aws::Kinesis::EventStreams::SubscribeToShardEventStream.new - # handler.on_subscribe_to_shard_event_event do |event| - # event # => Aws::Kinesis::Types::SubscribeToShardEvent - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::Kinesis::Types::ResourceNotFoundException - # end - # handler.on_resource_in_use_exception_event do |event| - # event # => Aws::Kinesis::Types::ResourceInUseException - # end - # handler.on_kms_disabled_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSDisabledException - # end - # handler.on_kms_invalid_state_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSInvalidStateException - # end - # handler.on_kms_access_denied_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSAccessDeniedException - # end - # handler.on_kms_not_found_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSNotFoundException - # end - # handler.on_kms_opt_in_required_event do |event| - # event # => Aws::Kinesis::Types::KMSOptInRequired - # end - # handler.on_kms_throttling_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSThrottlingException - # end - # handler.on_internal_failure_exception_event do |event| - # event # => Aws::Kinesis::Types::InternalFailureException - # end - # - # client.subscribe_to_shard( # params input #, event_stream_handler: handler) - # - # 2) Use a Ruby Proc object - # Example for registering callbacks with specific events - # - # handler = Proc.new do |stream| - # stream.on_subscribe_to_shard_event_event do |event| - # event # => Aws::Kinesis::Types::SubscribeToShardEvent - # end - # stream.on_resource_not_found_exception_event do |event| - # event # => Aws::Kinesis::Types::ResourceNotFoundException - # end - # stream.on_resource_in_use_exception_event do |event| - # event # => Aws::Kinesis::Types::ResourceInUseException - # end - # stream.on_kms_disabled_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSDisabledException - # end - # stream.on_kms_invalid_state_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSInvalidStateException - # end - # stream.on_kms_access_denied_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSAccessDeniedException - # end - # stream.on_kms_not_found_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSNotFoundException - # end - # stream.on_kms_opt_in_required_event do |event| - # event # => Aws::Kinesis::Types::KMSOptInRequired - # end - # stream.on_kms_throttling_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSThrottlingException - # end - # stream.on_internal_failure_exception_event do |event| - # event # => Aws::Kinesis::Types::InternalFailureException - # end + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # # ... # end - # - # client.subscribe_to_shard( # params input #, event_stream_handler: handler) - # - # Usage pattern c): Hybrid pattern of a) and b) - # - # handler = Aws::Kinesis::EventStreams::SubscribeToShardEventStream.new - # handler.on_subscribe_to_shard_event_event do |event| - # event # => Aws::Kinesis::Types::SubscribeToShardEvent - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::Kinesis::Types::ResourceNotFoundException - # end - # handler.on_resource_in_use_exception_event do |event| - # event # => Aws::Kinesis::Types::ResourceInUseException - # end - # handler.on_kms_disabled_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSDisabledException - # end - # handler.on_kms_invalid_state_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSInvalidStateException - # end - # handler.on_kms_access_denied_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSAccessDeniedException - # end - # handler.on_kms_not_found_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSNotFoundException - # end - # handler.on_kms_opt_in_required_event do |event| - # event # => Aws::Kinesis::Types::KMSOptInRequired - # end - # handler.on_kms_throttling_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSThrottlingException - # end - # handler.on_internal_failure_exception_event do |event| - # event # => Aws::Kinesis::Types::InternalFailureException - # end - # - # client.subscribe_to_shard( # params input #, event_stream_handler: handler) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # end + # + # # Usage pattern b): Pass in `:event_stream_handler` for #subscribe_to_shard + # # 1) Create a Aws::Kinesis::EventStreams::SubscribeToShardEventStream object + # # Example for registering callbacks with specific events + # + # handler = Aws::Kinesis::EventStreams::SubscribeToShardEventStream.new + # handler.on_subscribe_to_shard_event_event do |event| + # event # => Aws::Kinesis::Types::SubscribeToShardEvent + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::Kinesis::Types::ResourceNotFoundException + # end + # handler.on_resource_in_use_exception_event do |event| + # event # => Aws::Kinesis::Types::ResourceInUseException + # end + # handler.on_kms_disabled_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSDisabledException + # end + # handler.on_kms_invalid_state_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSInvalidStateException + # end + # handler.on_kms_access_denied_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSAccessDeniedException + # end + # handler.on_kms_not_found_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSNotFoundException + # end + # handler.on_kms_opt_in_required_event do |event| + # event # => Aws::Kinesis::Types::KMSOptInRequired + # end + # handler.on_kms_throttling_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSThrottlingException + # end + # handler.on_internal_failure_exception_event do |event| + # event # => Aws::Kinesis::Types::InternalFailureException + # end + # + # client.subscribe_to_shard( + # # params inputs + # event_stream_handler: handler + # ) + # + # # 2) Use a Ruby Proc object + # # Example for registering callbacks with specific events + # handler = Proc.new do |stream| + # stream.on_subscribe_to_shard_event_event do |event| + # event # => Aws::Kinesis::Types::SubscribeToShardEvent # end + # stream.on_resource_not_found_exception_event do |event| + # event # => Aws::Kinesis::Types::ResourceNotFoundException + # end + # stream.on_resource_in_use_exception_event do |event| + # event # => Aws::Kinesis::Types::ResourceInUseException + # end + # stream.on_kms_disabled_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSDisabledException + # end + # stream.on_kms_invalid_state_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSInvalidStateException + # end + # stream.on_kms_access_denied_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSAccessDeniedException + # end + # stream.on_kms_not_found_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSNotFoundException + # end + # stream.on_kms_opt_in_required_event do |event| + # event # => Aws::Kinesis::Types::KMSOptInRequired + # end + # stream.on_kms_throttling_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSThrottlingException + # end + # stream.on_internal_failure_exception_event do |event| + # event # => Aws::Kinesis::Types::InternalFailureException + # end + # end + # + # client.subscribe_to_shard( + # # params inputs + # event_stream_handler: handler + # ) + # + # # Usage pattern c): Hybrid pattern of a) and b) + # handler = Aws::Kinesis::EventStreams::SubscribeToShardEventStream.new + # handler.on_subscribe_to_shard_event_event do |event| + # event # => Aws::Kinesis::Types::SubscribeToShardEvent + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::Kinesis::Types::ResourceNotFoundException + # end + # handler.on_resource_in_use_exception_event do |event| + # event # => Aws::Kinesis::Types::ResourceInUseException + # end + # handler.on_kms_disabled_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSDisabledException + # end + # handler.on_kms_invalid_state_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSInvalidStateException + # end + # handler.on_kms_access_denied_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSAccessDeniedException + # end + # handler.on_kms_not_found_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSNotFoundException + # end + # handler.on_kms_opt_in_required_event do |event| + # event # => Aws::Kinesis::Types::KMSOptInRequired + # end + # handler.on_kms_throttling_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSThrottlingException + # end + # handler.on_internal_failure_exception_event do |event| + # event # => Aws::Kinesis::Types::InternalFailureException + # end + # + # client.subscribe_to_shard( + # # params input + # event_stream_handler: handler + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # end # - # You can also iterate through events after the response complete. - # - # Events are available at resp.event_stream # => Enumerator - # For parameter input example, please refer to following request syntax + # # You can also iterate through events after the response complete. + # # Events are available at + # resp.event_stream # => Enumerator + # # For parameter input example, please refer to following request syntax. # # @example Request syntax with placeholder values # @@ -625,11 +650,11 @@ def initialize(*args) # # @example Response structure # - # All events are available at resp.event_stream: + # # All events are available at resp.event_stream: # resp.event_stream #=> Enumerator # resp.event_stream.event_types #=> [:subscribe_to_shard_event, :resource_not_found_exception, :resource_in_use_exception, :kms_disabled_exception, :kms_invalid_state_exception, :kms_access_denied_exception, :kms_not_found_exception, :kms_opt_in_required, :kms_throttling_exception, :internal_failure_exception] # - # For :subscribe_to_shard_event event available at #on_subscribe_to_shard_event_event callback and response eventstream enumerator: + # # For :subscribe_to_shard_event event available at #on_subscribe_to_shard_event_event callback and response eventstream enumerator: # event.records #=> Array # event.records[0].sequence_number #=> String # event.records[0].approximate_arrival_timestamp #=> Time @@ -645,31 +670,31 @@ def initialize(*args) # event.child_shards[0].hash_key_range.starting_hash_key #=> String # event.child_shards[0].hash_key_range.ending_hash_key #=> String # - # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: + # # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :resource_in_use_exception event available at #on_resource_in_use_exception_event callback and response eventstream enumerator: + # # For :resource_in_use_exception event available at #on_resource_in_use_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :kms_disabled_exception event available at #on_kms_disabled_exception_event callback and response eventstream enumerator: + # # For :kms_disabled_exception event available at #on_kms_disabled_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :kms_invalid_state_exception event available at #on_kms_invalid_state_exception_event callback and response eventstream enumerator: + # # For :kms_invalid_state_exception event available at #on_kms_invalid_state_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :kms_access_denied_exception event available at #on_kms_access_denied_exception_event callback and response eventstream enumerator: + # # For :kms_access_denied_exception event available at #on_kms_access_denied_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :kms_not_found_exception event available at #on_kms_not_found_exception_event callback and response eventstream enumerator: + # # For :kms_not_found_exception event available at #on_kms_not_found_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :kms_opt_in_required event available at #on_kms_opt_in_required_event callback and response eventstream enumerator: + # # For :kms_opt_in_required event available at #on_kms_opt_in_required_event callback and response eventstream enumerator: # event.message #=> String # - # For :kms_throttling_exception event available at #on_kms_throttling_exception_event callback and response eventstream enumerator: + # # For :kms_throttling_exception event available at #on_kms_throttling_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: + # # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: # event.message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/SubscribeToShard AWS API Documentation diff --git a/gems/aws-sdk-kinesis/sig/async_client.rbs b/gems/aws-sdk-kinesis/sig/async_client.rbs new file mode 100644 index 00000000000..12ffc45c089 --- /dev/null +++ b/gems/aws-sdk-kinesis/sig/async_client.rbs @@ -0,0 +1,87 @@ +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +module Aws + module Kinesis + class AsyncClient < ::Seahorse::Client::AsyncBase + include ::Aws::AsyncClientStubs + + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Kinesis/AsyncClient.html#initialize-instance_method + def self.new: ( + ?credentials: untyped, + ?region: String, + ?access_key_id: String, + ?account_id: String, + ?adaptive_retry_wait_to_fill: bool, + ?convert_params: bool, + ?correct_clock_skew: bool, + ?defaults_mode: String, + ?disable_request_compression: bool, + ?endpoint: String, + ?event_stream_handler: Proc, + ?ignore_configured_endpoint_urls: bool, + ?input_event_stream_handler: Proc, + ?log_formatter: untyped, + ?log_level: Symbol, + ?logger: untyped, + ?max_attempts: Integer, + ?output_event_stream_handler: Proc, + ?profile: String, + ?request_checksum_calculation: String, + ?request_min_compression_size_bytes: Integer, + ?response_checksum_validation: String, + ?retry_backoff: Proc, + ?retry_base_delay: Float, + ?retry_jitter: (:none | :equal | :full | ^(Integer) -> Integer), + ?retry_limit: Integer, + ?retry_max_delay: Integer, + ?retry_mode: ("legacy" | "standard" | "adaptive"), + ?sdk_ua_app_id: String, + ?secret_access_key: String, + ?session_token: String, + ?sigv4a_signing_region_set: Array[String], + ?simple_json: bool, + ?stub_responses: untyped, + ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, + ?token_provider: untyped, + ?use_dualstack_endpoint: bool, + ?use_fips_endpoint: bool, + ?validate_params: bool, + ?endpoint_provider: untyped, + ?connection_read_timeout: (Float | Integer), + ?connection_timeout: (Float | Integer), + ?enable_alpn: bool, + ?max_concurrent_streams: (Float | Integer), + ?read_chunk_size: (Float | Integer), + ?http_wire_trace: bool, + ?ssl_verify_peer: bool, + ?ssl_ca_bundle: String, + ?ssl_ca_directory: String, + ?ssl_ca_store: String, + ?raise_response_errors: bool + ) -> instance + | (?Hash[Symbol, untyped]) -> instance + + + interface _SubscribeToShardResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::SubscribeToShardOutput] + def event_stream: () -> Types::SubscribeToShardEventStream + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Kinesis/AsyncClient.html#subscribe_to_shard-instance_method + def subscribe_to_shard: ( + consumer_arn: ::String, + shard_id: ::String, + starting_position: { + type: ("AT_SEQUENCE_NUMBER" | "AFTER_SEQUENCE_NUMBER" | "TRIM_HORIZON" | "LATEST" | "AT_TIMESTAMP"), + sequence_number: ::String?, + timestamp: ::Time? + } + ) -> _SubscribeToShardResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _SubscribeToShardResponseSuccess + end + end +end \ No newline at end of file diff --git a/gems/aws-sdk-kinesis/sig/client.rbs b/gems/aws-sdk-kinesis/sig/client.rbs index 88920ac2290..dee19c031a8 100644 --- a/gems/aws-sdk-kinesis/sig/client.rbs +++ b/gems/aws-sdk-kinesis/sig/client.rbs @@ -419,22 +419,6 @@ module Aws ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure] | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure] - interface _SubscribeToShardResponseSuccess - include ::Seahorse::Client::_ResponseSuccess[Types::SubscribeToShardOutput] - def event_stream: () -> Types::SubscribeToShardEventStream - end - # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Kinesis/Client.html#subscribe_to_shard-instance_method - def subscribe_to_shard: ( - consumer_arn: ::String, - shard_id: ::String, - starting_position: { - type: ("AT_SEQUENCE_NUMBER" | "AFTER_SEQUENCE_NUMBER" | "TRIM_HORIZON" | "LATEST" | "AT_TIMESTAMP"), - sequence_number: ::String?, - timestamp: ::Time? - } - ) -> _SubscribeToShardResponseSuccess - | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _SubscribeToShardResponseSuccess - interface _UpdateShardCountResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::UpdateShardCountOutput] def stream_name: () -> ::String diff --git a/gems/aws-sdk-lambda/lib/aws-sdk-lambda/client.rb b/gems/aws-sdk-lambda/lib/aws-sdk-lambda/client.rb index 831a270f3b9..37c92319f19 100644 --- a/gems/aws-sdk-lambda/lib/aws-sdk-lambda/client.rb +++ b/gems/aws-sdk-lambda/lib/aws-sdk-lambda/client.rb @@ -4229,95 +4229,101 @@ def invoke_async(params = {}, options = {}) # # @example EventStream Operation Example # - # You can process the event once it arrives immediately, or wait until the - # full response is complete and iterate through the eventstream enumerator. - # - # To interact with event immediately, you need to register #invoke_with_response_stream - # with callbacks. Callbacks can be registered for specific events or for all - # events, including error events. - # - # Callbacks can be passed into the `:event_stream_handler` option or within a - # block statement attached to the #invoke_with_response_stream call directly. Hybrid - # pattern of both is also supported. - # - # `:event_stream_handler` option takes in either a Proc object or - # Aws::Lambda::EventStreams::InvokeWithResponseStreamResponseEvent object. - # - # Usage pattern a): Callbacks with a block attached to #invoke_with_response_stream - # Example for registering callbacks for all event types and an error event - # - # client.invoke_with_response_stream( # params input# ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # ... - # end - # + # # You can process the event once it arrives immediately, or wait until the + # # full response is complete and iterate through the eventstream enumerator. + # + # # To interact with event immediately, you need to register invoke_with_response_stream + # # with callbacks. Callbacks can be registered for specific events or for all + # # events, including error events. + # + # # Callbacks can be passed into the `:event_stream_handler` option or within a + # # block statement attached to the #invoke_with_response_stream call directly. Hybrid + # # pattern of both is also supported. + # + # # `:event_stream_handler` option takes in either a Proc object or + # # Aws::Lambda::EventStreams::InvokeWithResponseStreamResponseEvent object. + # + # # Usage pattern a): Callbacks with a block attached to #invoke_with_response_stream + # # Example for registering callbacks for all event types and an error event + # client.invoke_with_response_stream( + # # params input + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String # end # - # Usage pattern b): Pass in `:event_stream_handler` for #invoke_with_response_stream - # - # 1) Create a Aws::Lambda::EventStreams::InvokeWithResponseStreamResponseEvent object - # Example for registering callbacks with specific events - # - # handler = Aws::Lambda::EventStreams::InvokeWithResponseStreamResponseEvent.new - # handler.on_payload_chunk_event do |event| - # event # => Aws::Lambda::Types::PayloadChunk - # end - # handler.on_invoke_complete_event do |event| - # event # => Aws::Lambda::Types::InvokeComplete - # end - # - # client.invoke_with_response_stream( # params input #, event_stream_handler: handler) - # - # 2) Use a Ruby Proc object - # Example for registering callbacks with specific events - # - # handler = Proc.new do |stream| - # stream.on_payload_chunk_event do |event| - # event # => Aws::Lambda::Types::PayloadChunk - # end - # stream.on_invoke_complete_event do |event| - # event # => Aws::Lambda::Types::InvokeComplete - # end + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # # ... # end - # - # client.invoke_with_response_stream( # params input #, event_stream_handler: handler) - # - # Usage pattern c): Hybrid pattern of a) and b) - # - # handler = Aws::Lambda::EventStreams::InvokeWithResponseStreamResponseEvent.new - # handler.on_payload_chunk_event do |event| - # event # => Aws::Lambda::Types::PayloadChunk - # end - # handler.on_invoke_complete_event do |event| - # event # => Aws::Lambda::Types::InvokeComplete - # end - # - # client.invoke_with_response_stream( # params input #, event_stream_handler: handler) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # end + # + # # Usage pattern b): Pass in `:event_stream_handler` for #invoke_with_response_stream + # # 1) Create a Aws::Lambda::EventStreams::InvokeWithResponseStreamResponseEvent object + # # Example for registering callbacks with specific events + # + # handler = Aws::Lambda::EventStreams::InvokeWithResponseStreamResponseEvent.new + # handler.on_payload_chunk_event do |event| + # event # => Aws::Lambda::Types::PayloadChunk + # end + # handler.on_invoke_complete_event do |event| + # event # => Aws::Lambda::Types::InvokeComplete + # end + # + # client.invoke_with_response_stream( + # # params inputs + # event_stream_handler: handler + # ) + # + # # 2) Use a Ruby Proc object + # # Example for registering callbacks with specific events + # handler = Proc.new do |stream| + # stream.on_payload_chunk_event do |event| + # event # => Aws::Lambda::Types::PayloadChunk # end + # stream.on_invoke_complete_event do |event| + # event # => Aws::Lambda::Types::InvokeComplete + # end + # end + # + # client.invoke_with_response_stream( + # # params inputs + # event_stream_handler: handler + # ) + # + # # Usage pattern c): Hybrid pattern of a) and b) + # handler = Aws::Lambda::EventStreams::InvokeWithResponseStreamResponseEvent.new + # handler.on_payload_chunk_event do |event| + # event # => Aws::Lambda::Types::PayloadChunk + # end + # handler.on_invoke_complete_event do |event| + # event # => Aws::Lambda::Types::InvokeComplete + # end + # + # client.invoke_with_response_stream( + # # params input + # event_stream_handler: handler + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # end # - # You can also iterate through events after the response complete. - # - # Events are available at resp.event_stream # => Enumerator - # For parameter input example, please refer to following request syntax + # # You can also iterate through events after the response complete. + # # Events are available at + # resp.event_stream # => Enumerator + # # For parameter input example, please refer to following request syntax. # # @example Request syntax with placeholder values # @@ -4334,14 +4340,14 @@ def invoke_async(params = {}, options = {}) # # resp.status_code #=> Integer # resp.executed_version #=> String - # All events are available at resp.event_stream: + # # All events are available at resp.event_stream: # resp.event_stream #=> Enumerator # resp.event_stream.event_types #=> [:payload_chunk, :invoke_complete] # - # For :payload_chunk event available at #on_payload_chunk_event callback and response eventstream enumerator: + # # For :payload_chunk event available at #on_payload_chunk_event callback and response eventstream enumerator: # event.payload #=> String # - # For :invoke_complete event available at #on_invoke_complete_event callback and response eventstream enumerator: + # # For :invoke_complete event available at #on_invoke_complete_event callback and response eventstream enumerator: # event.error_code #=> String # event.error_details #=> String # event.log_result #=> String diff --git a/gems/aws-sdk-lexruntimev2/lib/aws-sdk-lexruntimev2/async_client.rb b/gems/aws-sdk-lexruntimev2/lib/aws-sdk-lexruntimev2/async_client.rb index 784a5c5df0c..824f1beafe9 100644 --- a/gems/aws-sdk-lexruntimev2/lib/aws-sdk-lexruntimev2/async_client.rb +++ b/gems/aws-sdk-lexruntimev2/lib/aws-sdk-lexruntimev2/async_client.rb @@ -10,32 +10,44 @@ begin require 'http/2' rescue LoadError; end -require 'aws-sdk-core/plugins/credentials_configuration.rb' -require 'aws-sdk-core/plugins/logging.rb' -require 'aws-sdk-core/plugins/param_converter.rb' -require 'aws-sdk-core/plugins/param_validator.rb' -require 'aws-sdk-core/plugins/user_agent.rb' -require 'aws-sdk-core/plugins/helpful_socket_errors.rb' -require 'aws-sdk-core/plugins/retry_errors.rb' -require 'aws-sdk-core/plugins/global_configuration.rb' -require 'aws-sdk-core/plugins/regional_endpoint.rb' -require 'aws-sdk-core/plugins/stub_responses.rb' -require 'aws-sdk-core/plugins/idempotency_token.rb' -require 'aws-sdk-core/plugins/invocation_id.rb' -require 'aws-sdk-core/plugins/jsonvalue_converter.rb' -require 'aws-sdk-core/plugins/http_checksum.rb' -require 'aws-sdk-core/plugins/checksum_algorithm.rb' -require 'aws-sdk-core/plugins/request_compression.rb' -require 'aws-sdk-core/plugins/defaults_mode.rb' -require 'aws-sdk-core/plugins/recursion_detection.rb' -require 'aws-sdk-core/plugins/telemetry.rb' -require 'aws-sdk-core/plugins/sign.rb' -require 'aws-sdk-core/plugins/protocols/rest_json.rb' -require 'aws-sdk-core/plugins/event_stream_configuration.rb' +require 'aws-sdk-core/plugins/credentials_configuration' +require 'aws-sdk-core/plugins/logging' +require 'aws-sdk-core/plugins/param_converter' +require 'aws-sdk-core/plugins/param_validator' +require 'aws-sdk-core/plugins/user_agent' +require 'aws-sdk-core/plugins/helpful_socket_errors' +require 'aws-sdk-core/plugins/retry_errors' +require 'aws-sdk-core/plugins/global_configuration' +require 'aws-sdk-core/plugins/regional_endpoint' +require 'aws-sdk-core/plugins/stub_responses' +require 'aws-sdk-core/plugins/idempotency_token' +require 'aws-sdk-core/plugins/invocation_id' +require 'aws-sdk-core/plugins/jsonvalue_converter' +require 'aws-sdk-core/plugins/http_checksum' +require 'aws-sdk-core/plugins/checksum_algorithm' +require 'aws-sdk-core/plugins/request_compression' +require 'aws-sdk-core/plugins/defaults_mode' +require 'aws-sdk-core/plugins/recursion_detection' +require 'aws-sdk-core/plugins/telemetry' +require 'aws-sdk-core/plugins/sign' +require 'aws-sdk-core/plugins/protocols/rest_json' +require 'aws-sdk-core/plugins/event_stream_configuration' Aws::Plugins::GlobalConfiguration.add_identifier(:lexruntimev2) module Aws::LexRuntimeV2 + # An API async client for LexRuntimeV2. To construct an async client, you need to configure a `:region` and `:credentials`. + # + # async_client = Aws::LexRuntimeV2::AsyncClient.new( + # region: region_name, + # credentials: credentials, + # # ... + # ) + # + # For details on configuring region and credentials see + # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html). + # + # See {#initialize} for a full list of supported configuration options. class AsyncClient < Seahorse::Client::AsyncBase include Aws::AsyncClientStubs @@ -68,6 +80,13 @@ class AsyncClient < Seahorse::Client::AsyncBase add_plugin(Aws::Plugins::EventStreamConfiguration) add_plugin(Aws::LexRuntimeV2::Plugins::Endpoints) + # @overload initialize(options) + # @param [Hash] options + # + # @option options [Array] :plugins ([]]) + # A list of plugins to apply to the client. Each plugin is either a + # class name or an instance of a plugin class. + # # @option options [required, Aws::CredentialProvider] :credentials # Your AWS credentials. This can be an instance of any one of the # following classes: @@ -461,150 +480,161 @@ def initialize(*args) # * {Types::StartConversationResponse#response_event_stream #response_event_stream} => Types::StartConversationResponseEventStream # # @example Bi-directional EventStream Operation Example - # - # You can signal input events after the initial request is established. Events - # will be sent to the stream immediately once the stream connection is - # established successfully. - # - # To signal events, you can call the #signal methods from an Aws::LexRuntimeV2::EventStreams::StartConversationRequestEventStream - # object. You must signal events before calling #wait or #join! on the async response. - # - # input_stream = Aws::LexRuntimeV2::EventStreams::StartConversationRequestEventStream.new - # - # async_resp = client.start_conversation( - # # params input - # input_event_stream_handler: input_stream) do |out_stream| - # - # # register callbacks for events - # out_stream.on_playback_interruption_event_event do |event| - # event # => Aws::LexRuntimeV2::Types::PlaybackInterruptionEvent - # end - # out_stream.on_transcript_event_event do |event| - # event # => Aws::LexRuntimeV2::Types::TranscriptEvent - # end - # out_stream.on_intent_result_event_event do |event| - # event # => Aws::LexRuntimeV2::Types::IntentResultEvent - # end - # out_stream.on_text_response_event_event do |event| - # event # => Aws::LexRuntimeV2::Types::TextResponseEvent - # end - # out_stream.on_audio_response_event_event do |event| - # event # => Aws::LexRuntimeV2::Types::AudioResponseEvent - # end - # out_stream.on_heartbeat_event_event do |event| - # event # => Aws::LexRuntimeV2::Types::HeartbeatEvent - # end - # out_stream.on_access_denied_exception_event do |event| - # event # => Aws::LexRuntimeV2::Types::AccessDeniedException - # end - # out_stream.on_resource_not_found_exception_event do |event| - # event # => Aws::LexRuntimeV2::Types::ResourceNotFoundException - # end - # out_stream.on_validation_exception_event do |event| - # event # => Aws::LexRuntimeV2::Types::ValidationException - # end - # out_stream.on_throttling_exception_event do |event| - # event # => Aws::LexRuntimeV2::Types::ThrottlingException - # end - # out_stream.on_internal_server_exception_event do |event| - # event # => Aws::LexRuntimeV2::Types::InternalServerException - # end - # out_stream.on_conflict_exception_event do |event| - # event # => Aws::LexRuntimeV2::Types::ConflictException - # end - # out_stream.on_dependency_failed_exception_event do |event| - # event # => Aws::LexRuntimeV2::Types::DependencyFailedException - # end - # out_stream.on_bad_gateway_exception_event do |event| - # event # => Aws::LexRuntimeV2::Types::BadGatewayException - # end - # - # end - # # => Aws::Seahorse::Client::AsyncResponse - # - # # signal events - # input_stream.signal_configuration_event_event( ... ) - # input_stream.signal_audio_input_event_event( ... ) - # input_stream.signal_dtmf_input_event_event( ... ) - # input_stream.signal_text_input_event_event( ... ) - # input_stream.signal_playback_completion_event_event( ... ) - # input_stream.signal_disconnection_event_event( ... ) - # - # # make sure to signal :end_stream at the end - # input_stream.signal_end_stream - # - # # wait until stream is closed before finalizing the sync response - # resp = async_resp.wait - # # Or close the stream and finalize sync response immediately - # # resp = async_resp.join! - # - # You can also provide an Aws::LexRuntimeV2::EventStreams::StartConversationResponseEventStream object to register callbacks - # before initializing the request instead of processing from the request block. - # - # output_stream = Aws::LexRuntimeV2::EventStreams::StartConversationResponseEventStream.new - # # register callbacks for output events - # output_stream.on_playback_interruption_event_event do |event| + # # You can signal input events after the initial request is established. Events + # # will be sent to the stream immediately once the stream connection is + # # established successfully. + # + # # To signal events, you can call the #signal methods from an + # # Aws::LexRuntimeV2::EventStreams::StartConversationRequestEventStream object. + # # You must signal events before calling #wait or #join! on the async response. + # input_stream = Aws::LexRuntimeV2::EventStreams::StartConversationRequestEventStream.new + # + # async_resp = client.start_conversation( + # # params input + # input_event_stream_handler: input_stream + # ) do |out_stream| + # # register callbacks for events + # out_stream.on_playback_interruption_event_event do |event| # event # => Aws::LexRuntimeV2::Types::PlaybackInterruptionEvent # end - # output_stream.on_transcript_event_event do |event| + # out_stream.on_transcript_event_event do |event| # event # => Aws::LexRuntimeV2::Types::TranscriptEvent # end - # output_stream.on_intent_result_event_event do |event| + # out_stream.on_intent_result_event_event do |event| # event # => Aws::LexRuntimeV2::Types::IntentResultEvent # end - # output_stream.on_text_response_event_event do |event| + # out_stream.on_text_response_event_event do |event| # event # => Aws::LexRuntimeV2::Types::TextResponseEvent # end - # output_stream.on_audio_response_event_event do |event| + # out_stream.on_audio_response_event_event do |event| # event # => Aws::LexRuntimeV2::Types::AudioResponseEvent # end - # output_stream.on_heartbeat_event_event do |event| + # out_stream.on_heartbeat_event_event do |event| # event # => Aws::LexRuntimeV2::Types::HeartbeatEvent # end - # output_stream.on_access_denied_exception_event do |event| + # out_stream.on_access_denied_exception_event do |event| # event # => Aws::LexRuntimeV2::Types::AccessDeniedException # end - # output_stream.on_resource_not_found_exception_event do |event| + # out_stream.on_resource_not_found_exception_event do |event| # event # => Aws::LexRuntimeV2::Types::ResourceNotFoundException # end - # output_stream.on_validation_exception_event do |event| + # out_stream.on_validation_exception_event do |event| # event # => Aws::LexRuntimeV2::Types::ValidationException # end - # output_stream.on_throttling_exception_event do |event| + # out_stream.on_throttling_exception_event do |event| # event # => Aws::LexRuntimeV2::Types::ThrottlingException # end - # output_stream.on_internal_server_exception_event do |event| + # out_stream.on_internal_server_exception_event do |event| # event # => Aws::LexRuntimeV2::Types::InternalServerException # end - # output_stream.on_conflict_exception_event do |event| + # out_stream.on_conflict_exception_event do |event| # event # => Aws::LexRuntimeV2::Types::ConflictException # end - # output_stream.on_dependency_failed_exception_event do |event| + # out_stream.on_dependency_failed_exception_event do |event| # event # => Aws::LexRuntimeV2::Types::DependencyFailedException # end - # output_stream.on_bad_gateway_exception_event do |event| + # out_stream.on_bad_gateway_exception_event do |event| # event # => Aws::LexRuntimeV2::Types::BadGatewayException # end - # output_stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # async_resp = client.start_conversation ( - # # params input - # input_event_stream_handler: input_stream - # output_event_stream_handler: output_stream - # ) - # - # resp = async_resp.join! - # - # You can also iterate through events after the response is complete. - # - # Events are available at resp.response_event_stream # => Enumerator + # end + # # => Aws::Seahorse::Client::AsyncResponse + # + # # signal events + # input_stream.signal_configuration_event_event( + # # ... + # ) + # input_stream.signal_audio_input_event_event( + # # ... + # ) + # input_stream.signal_dtmf_input_event_event( + # # ... + # ) + # input_stream.signal_text_input_event_event( + # # ... + # ) + # input_stream.signal_playback_completion_event_event( + # # ... + # ) + # input_stream.signal_disconnection_event_event( + # # ... + # ) + # + # # make sure to signal :end_stream at the end + # input_stream.signal_end_stream + # + # # wait until stream is closed before finalizing the sync response + # resp = async_resp.wait + # + # # Or close the stream and finalize sync response immediately + # resp = async_resp.join! + # + # # You can also provide an Aws::LexRuntimeV2::EventStreams::StartConversationResponseEventStream object + # # to register callbacks before initializing the request instead of processing + # # from the request block. + # output_stream = Aws::LexRuntimeV2::EventStreams::StartConversationResponseEventStream.new + # + # # register callbacks for output events + # output_stream.on_playback_interruption_event_event do |event| + # event # => Aws::LexRuntimeV2::Types::PlaybackInterruptionEvent + # end + # output_stream.on_transcript_event_event do |event| + # event # => Aws::LexRuntimeV2::Types::TranscriptEvent + # end + # output_stream.on_intent_result_event_event do |event| + # event # => Aws::LexRuntimeV2::Types::IntentResultEvent + # end + # output_stream.on_text_response_event_event do |event| + # event # => Aws::LexRuntimeV2::Types::TextResponseEvent + # end + # output_stream.on_audio_response_event_event do |event| + # event # => Aws::LexRuntimeV2::Types::AudioResponseEvent + # end + # output_stream.on_heartbeat_event_event do |event| + # event # => Aws::LexRuntimeV2::Types::HeartbeatEvent + # end + # output_stream.on_access_denied_exception_event do |event| + # event # => Aws::LexRuntimeV2::Types::AccessDeniedException + # end + # output_stream.on_resource_not_found_exception_event do |event| + # event # => Aws::LexRuntimeV2::Types::ResourceNotFoundException + # end + # output_stream.on_validation_exception_event do |event| + # event # => Aws::LexRuntimeV2::Types::ValidationException + # end + # output_stream.on_throttling_exception_event do |event| + # event # => Aws::LexRuntimeV2::Types::ThrottlingException + # end + # output_stream.on_internal_server_exception_event do |event| + # event # => Aws::LexRuntimeV2::Types::InternalServerException + # end + # output_stream.on_conflict_exception_event do |event| + # event # => Aws::LexRuntimeV2::Types::ConflictException + # end + # output_stream.on_dependency_failed_exception_event do |event| + # event # => Aws::LexRuntimeV2::Types::DependencyFailedException + # end + # output_stream.on_bad_gateway_exception_event do |event| + # event # => Aws::LexRuntimeV2::Types::BadGatewayException + # end + # output_stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # async_resp = client.start_conversation( + # # params input + # input_event_stream_handler: input_stream, + # output_event_stream_handler: output_stream + # ) + # resp = async_resp.join! + # + # # You can also iterate through events after the response is complete. + # # Events are available at + # resp.response_event_stream # => Enumerator # # @example Request syntax with placeholder values # @@ -623,20 +653,20 @@ def initialize(*args) # # @example Response structure # - # All events are available at resp.response_event_stream: + # # All events are available at resp.response_event_stream: # resp.response_event_stream #=> Enumerator # resp.response_event_stream.event_types #=> [:playback_interruption_event, :transcript_event, :intent_result_event, :text_response_event, :audio_response_event, :heartbeat_event, :access_denied_exception, :resource_not_found_exception, :validation_exception, :throttling_exception, :internal_server_exception, :conflict_exception, :dependency_failed_exception, :bad_gateway_exception] # - # For :playback_interruption_event event available at #on_playback_interruption_event_event callback and response eventstream enumerator: + # # For :playback_interruption_event event available at #on_playback_interruption_event_event callback and response eventstream enumerator: # event.event_reason #=> String, one of "DTMF_START_DETECTED", "TEXT_DETECTED", "VOICE_START_DETECTED" # event.caused_by_event_id #=> String # event.event_id #=> String # - # For :transcript_event event available at #on_transcript_event_event callback and response eventstream enumerator: + # # For :transcript_event event available at #on_transcript_event_event callback and response eventstream enumerator: # event.transcript #=> String # event.event_id #=> String # - # For :intent_result_event event available at #on_intent_result_event_event callback and response eventstream enumerator: + # # For :intent_result_event event available at #on_intent_result_event_event callback and response eventstream enumerator: # event.input_mode #=> String, one of "Text", "Speech", "DTMF" # event.interpretations #=> Array # event.interpretations[0].nlu_confidence.score #=> Float @@ -696,7 +726,7 @@ def initialize(*args) # event.recognized_bot_member.bot_id #=> String # event.recognized_bot_member.bot_name #=> String # - # For :text_response_event event available at #on_text_response_event_event callback and response eventstream enumerator: + # # For :text_response_event event available at #on_text_response_event_event callback and response eventstream enumerator: # event.messages #=> Array # event.messages[0].content #=> String # event.messages[0].content_type #=> String, one of "CustomPayload", "ImageResponseCard", "PlainText", "SSML" @@ -708,36 +738,36 @@ def initialize(*args) # event.messages[0].image_response_card.buttons[0].value #=> String # event.event_id #=> String # - # For :audio_response_event event available at #on_audio_response_event_event callback and response eventstream enumerator: + # # For :audio_response_event event available at #on_audio_response_event_event callback and response eventstream enumerator: # event.audio_chunk #=> String # event.content_type #=> String # event.event_id #=> String # - # For :heartbeat_event event available at #on_heartbeat_event_event callback and response eventstream enumerator: + # # For :heartbeat_event event available at #on_heartbeat_event_event callback and response eventstream enumerator: # event.event_id #=> String # - # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: + # # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: + # # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: + # # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: + # # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: + # # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: + # # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: + # # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: + # # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: # event.message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/runtime.lex.v2-2020-08-07/StartConversation AWS API Documentation diff --git a/gems/aws-sdk-lexruntimev2/sig/async_client.rbs b/gems/aws-sdk-lexruntimev2/sig/async_client.rbs new file mode 100644 index 00000000000..4ae3cfa659b --- /dev/null +++ b/gems/aws-sdk-lexruntimev2/sig/async_client.rbs @@ -0,0 +1,85 @@ +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +module Aws + module LexRuntimeV2 + class AsyncClient < ::Seahorse::Client::AsyncBase + include ::Aws::AsyncClientStubs + + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/LexRuntimeV2/AsyncClient.html#initialize-instance_method + def self.new: ( + ?credentials: untyped, + ?region: String, + ?access_key_id: String, + ?account_id: String, + ?adaptive_retry_wait_to_fill: bool, + ?convert_params: bool, + ?correct_clock_skew: bool, + ?defaults_mode: String, + ?disable_request_compression: bool, + ?endpoint: String, + ?event_stream_handler: Proc, + ?ignore_configured_endpoint_urls: bool, + ?input_event_stream_handler: Proc, + ?log_formatter: untyped, + ?log_level: Symbol, + ?logger: untyped, + ?max_attempts: Integer, + ?output_event_stream_handler: Proc, + ?profile: String, + ?request_checksum_calculation: String, + ?request_min_compression_size_bytes: Integer, + ?response_checksum_validation: String, + ?retry_backoff: Proc, + ?retry_base_delay: Float, + ?retry_jitter: (:none | :equal | :full | ^(Integer) -> Integer), + ?retry_limit: Integer, + ?retry_max_delay: Integer, + ?retry_mode: ("legacy" | "standard" | "adaptive"), + ?sdk_ua_app_id: String, + ?secret_access_key: String, + ?session_token: String, + ?sigv4a_signing_region_set: Array[String], + ?stub_responses: untyped, + ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, + ?token_provider: untyped, + ?use_dualstack_endpoint: bool, + ?use_fips_endpoint: bool, + ?validate_params: bool, + ?endpoint_provider: untyped, + ?connection_read_timeout: (Float | Integer), + ?connection_timeout: (Float | Integer), + ?enable_alpn: bool, + ?max_concurrent_streams: (Float | Integer), + ?read_chunk_size: (Float | Integer), + ?http_wire_trace: bool, + ?ssl_verify_peer: bool, + ?ssl_ca_bundle: String, + ?ssl_ca_directory: String, + ?ssl_ca_store: String, + ?raise_response_errors: bool + ) -> instance + | (?Hash[Symbol, untyped]) -> instance + + + interface _StartConversationResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::StartConversationResponse] + def response_event_stream: () -> Types::StartConversationResponseEventStream + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/LexRuntimeV2/AsyncClient.html#start_conversation-instance_method + def start_conversation: ( + bot_id: ::String, + bot_alias_id: ::String, + locale_id: ::String, + session_id: ::String, + ?conversation_mode: ("AUDIO" | "TEXT"), + input_event_stream_hander: untyped + ) ?{ (*untyped) -> void } -> _StartConversationResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _StartConversationResponseSuccess + end + end +end \ No newline at end of file diff --git a/gems/aws-sdk-lexruntimev2/sig/client.rbs b/gems/aws-sdk-lexruntimev2/sig/client.rbs index 1bd9305e805..bce3f3eda7f 100644 --- a/gems/aws-sdk-lexruntimev2/sig/client.rbs +++ b/gems/aws-sdk-lexruntimev2/sig/client.rbs @@ -295,21 +295,6 @@ module Aws ?input_stream: ::String ) ?{ (*untyped) -> void } -> _RecognizeUtteranceResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _RecognizeUtteranceResponseSuccess - - interface _StartConversationResponseSuccess - include ::Seahorse::Client::_ResponseSuccess[Types::StartConversationResponse] - def response_event_stream: () -> Types::StartConversationResponseEventStream - end - # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/LexRuntimeV2/Client.html#start_conversation-instance_method - def start_conversation: ( - bot_id: ::String, - bot_alias_id: ::String, - locale_id: ::String, - session_id: ::String, - ?conversation_mode: ("AUDIO" | "TEXT"), - input_event_stream_hander: untyped - ) ?{ (*untyped) -> void } -> _StartConversationResponseSuccess - | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _StartConversationResponseSuccess end end end diff --git a/gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/async_client.rb b/gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/async_client.rb index 0a77cb6aaa9..1f2a3850b50 100644 --- a/gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/async_client.rb +++ b/gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/async_client.rb @@ -10,32 +10,44 @@ begin require 'http/2' rescue LoadError; end -require 'aws-sdk-core/plugins/credentials_configuration.rb' -require 'aws-sdk-core/plugins/logging.rb' -require 'aws-sdk-core/plugins/param_converter.rb' -require 'aws-sdk-core/plugins/param_validator.rb' -require 'aws-sdk-core/plugins/user_agent.rb' -require 'aws-sdk-core/plugins/helpful_socket_errors.rb' -require 'aws-sdk-core/plugins/retry_errors.rb' -require 'aws-sdk-core/plugins/global_configuration.rb' -require 'aws-sdk-core/plugins/regional_endpoint.rb' -require 'aws-sdk-core/plugins/stub_responses.rb' -require 'aws-sdk-core/plugins/idempotency_token.rb' -require 'aws-sdk-core/plugins/invocation_id.rb' -require 'aws-sdk-core/plugins/jsonvalue_converter.rb' -require 'aws-sdk-core/plugins/http_checksum.rb' -require 'aws-sdk-core/plugins/checksum_algorithm.rb' -require 'aws-sdk-core/plugins/request_compression.rb' -require 'aws-sdk-core/plugins/defaults_mode.rb' -require 'aws-sdk-core/plugins/recursion_detection.rb' -require 'aws-sdk-core/plugins/telemetry.rb' -require 'aws-sdk-core/plugins/sign.rb' -require 'aws-sdk-core/plugins/protocols/rest_json.rb' -require 'aws-sdk-core/plugins/event_stream_configuration.rb' +require 'aws-sdk-core/plugins/credentials_configuration' +require 'aws-sdk-core/plugins/logging' +require 'aws-sdk-core/plugins/param_converter' +require 'aws-sdk-core/plugins/param_validator' +require 'aws-sdk-core/plugins/user_agent' +require 'aws-sdk-core/plugins/helpful_socket_errors' +require 'aws-sdk-core/plugins/retry_errors' +require 'aws-sdk-core/plugins/global_configuration' +require 'aws-sdk-core/plugins/regional_endpoint' +require 'aws-sdk-core/plugins/stub_responses' +require 'aws-sdk-core/plugins/idempotency_token' +require 'aws-sdk-core/plugins/invocation_id' +require 'aws-sdk-core/plugins/jsonvalue_converter' +require 'aws-sdk-core/plugins/http_checksum' +require 'aws-sdk-core/plugins/checksum_algorithm' +require 'aws-sdk-core/plugins/request_compression' +require 'aws-sdk-core/plugins/defaults_mode' +require 'aws-sdk-core/plugins/recursion_detection' +require 'aws-sdk-core/plugins/telemetry' +require 'aws-sdk-core/plugins/sign' +require 'aws-sdk-core/plugins/protocols/rest_json' +require 'aws-sdk-core/plugins/event_stream_configuration' Aws::Plugins::GlobalConfiguration.add_identifier(:qbusiness) module Aws::QBusiness + # An API async client for QBusiness. To construct an async client, you need to configure a `:region` and `:credentials`. + # + # async_client = Aws::QBusiness::AsyncClient.new( + # region: region_name, + # credentials: credentials, + # # ... + # ) + # + # For details on configuring region and credentials see + # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html). + # + # See {#initialize} for a full list of supported configuration options. class AsyncClient < Seahorse::Client::AsyncBase include Aws::AsyncClientStubs @@ -68,6 +80,13 @@ class AsyncClient < Seahorse::Client::AsyncBase add_plugin(Aws::Plugins::EventStreamConfiguration) add_plugin(Aws::QBusiness::Plugins::Endpoints) + # @overload initialize(options) + # @param [Hash] options + # + # @option options [Array] :plugins ([]]) + # A list of plugins to apply to the client. Each plugin is either a + # class name or an instance of a plugin class. + # # @option options [required, Aws::CredentialProvider] :credentials # Your AWS credentials. This can be an instance of any one of the # following classes: @@ -415,96 +434,107 @@ def initialize(*args) # * {Types::ChatOutput#output_stream #output_stream} => Types::ChatOutputStream # # @example Bi-directional EventStream Operation Example - # - # You can signal input events after the initial request is established. Events - # will be sent to the stream immediately once the stream connection is - # established successfully. - # - # To signal events, you can call the #signal methods from an Aws::QBusiness::EventStreams::ChatInputStream - # object. You must signal events before calling #wait or #join! on the async response. - # - # input_stream = Aws::QBusiness::EventStreams::ChatInputStream.new - # - # async_resp = client.chat( - # # params input - # input_event_stream_handler: input_stream) do |out_stream| - # - # # register callbacks for events - # out_stream.on_text_event_event do |event| - # event # => Aws::QBusiness::Types::textEvent - # end - # out_stream.on_metadata_event_event do |event| - # event # => Aws::QBusiness::Types::metadataEvent - # end - # out_stream.on_action_review_event_event do |event| - # event # => Aws::QBusiness::Types::actionReviewEvent - # end - # out_stream.on_failed_attachment_event_event do |event| - # event # => Aws::QBusiness::Types::failedAttachmentEvent - # end - # out_stream.on_auth_challenge_request_event_event do |event| - # event # => Aws::QBusiness::Types::authChallengeRequestEvent - # end - # - # end - # # => Aws::Seahorse::Client::AsyncResponse - # - # # signal events - # input_stream.signal_configuration_event_event( ... ) - # input_stream.signal_text_event_event( ... ) - # input_stream.signal_attachment_event_event( ... ) - # input_stream.signal_action_execution_event_event( ... ) - # input_stream.signal_end_of_input_event_event( ... ) - # input_stream.signal_auth_challenge_response_event_event( ... ) - # - # # make sure to signal :end_stream at the end - # input_stream.signal_end_stream - # - # # wait until stream is closed before finalizing the sync response - # resp = async_resp.wait - # # Or close the stream and finalize sync response immediately - # # resp = async_resp.join! - # - # You can also provide an Aws::QBusiness::EventStreams::ChatOutputStream object to register callbacks - # before initializing the request instead of processing from the request block. - # - # output_stream = Aws::QBusiness::EventStreams::ChatOutputStream.new - # # register callbacks for output events - # output_stream.on_text_event_event do |event| + # # You can signal input events after the initial request is established. Events + # # will be sent to the stream immediately once the stream connection is + # # established successfully. + # + # # To signal events, you can call the #signal methods from an + # # Aws::QBusiness::EventStreams::ChatInputStream object. + # # You must signal events before calling #wait or #join! on the async response. + # input_stream = Aws::QBusiness::EventStreams::ChatInputStream.new + # + # async_resp = client.chat( + # # params input + # input_event_stream_handler: input_stream + # ) do |out_stream| + # # register callbacks for events + # out_stream.on_text_event_event do |event| # event # => Aws::QBusiness::Types::textEvent # end - # output_stream.on_metadata_event_event do |event| + # out_stream.on_metadata_event_event do |event| # event # => Aws::QBusiness::Types::metadataEvent # end - # output_stream.on_action_review_event_event do |event| + # out_stream.on_action_review_event_event do |event| # event # => Aws::QBusiness::Types::actionReviewEvent # end - # output_stream.on_failed_attachment_event_event do |event| + # out_stream.on_failed_attachment_event_event do |event| # event # => Aws::QBusiness::Types::failedAttachmentEvent # end - # output_stream.on_auth_challenge_request_event_event do |event| + # out_stream.on_auth_challenge_request_event_event do |event| # event # => Aws::QBusiness::Types::authChallengeRequestEvent # end - # output_stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # async_resp = client.chat ( - # # params input - # input_event_stream_handler: input_stream - # output_event_stream_handler: output_stream - # ) - # - # resp = async_resp.join! - # - # You can also iterate through events after the response is complete. - # - # Events are available at resp.output_stream # => Enumerator + # end + # # => Aws::Seahorse::Client::AsyncResponse + # + # # signal events + # input_stream.signal_configuration_event_event( + # # ... + # ) + # input_stream.signal_text_event_event( + # # ... + # ) + # input_stream.signal_attachment_event_event( + # # ... + # ) + # input_stream.signal_action_execution_event_event( + # # ... + # ) + # input_stream.signal_end_of_input_event_event( + # # ... + # ) + # input_stream.signal_auth_challenge_response_event_event( + # # ... + # ) + # + # # make sure to signal :end_stream at the end + # input_stream.signal_end_stream + # + # # wait until stream is closed before finalizing the sync response + # resp = async_resp.wait + # + # # Or close the stream and finalize sync response immediately + # resp = async_resp.join! + # + # # You can also provide an Aws::QBusiness::EventStreams::ChatOutputStream object + # # to register callbacks before initializing the request instead of processing + # # from the request block. + # output_stream = Aws::QBusiness::EventStreams::ChatOutputStream.new + # + # # register callbacks for output events + # output_stream.on_text_event_event do |event| + # event # => Aws::QBusiness::Types::textEvent + # end + # output_stream.on_metadata_event_event do |event| + # event # => Aws::QBusiness::Types::metadataEvent + # end + # output_stream.on_action_review_event_event do |event| + # event # => Aws::QBusiness::Types::actionReviewEvent + # end + # output_stream.on_failed_attachment_event_event do |event| + # event # => Aws::QBusiness::Types::failedAttachmentEvent + # end + # output_stream.on_auth_challenge_request_event_event do |event| + # event # => Aws::QBusiness::Types::authChallengeRequestEvent + # end + # output_stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # async_resp = client.chat( + # # params input + # input_event_stream_handler: input_stream, + # output_event_stream_handler: output_stream + # ) + # resp = async_resp.join! + # + # # You can also iterate through events after the response is complete. + # # Events are available at + # resp.output_stream # => Enumerator # # @example Request syntax with placeholder values # @@ -524,18 +554,18 @@ def initialize(*args) # # @example Response structure # - # All events are available at resp.output_stream: + # # All events are available at resp.output_stream: # resp.output_stream #=> Enumerator # resp.output_stream.event_types #=> [:text_event, :metadata_event, :action_review_event, :failed_attachment_event, :auth_challenge_request_event] # - # For :text_event event available at #on_text_event_event callback and response eventstream enumerator: + # # For :text_event event available at #on_text_event_event callback and response eventstream enumerator: # event.system_message_type #=> String, one of "RESPONSE", "GROUNDED_RESPONSE" # event.conversation_id #=> String # event.user_message_id #=> String # event.system_message_id #=> String # event.system_message #=> String # - # For :metadata_event event available at #on_metadata_event_event callback and response eventstream enumerator: + # # For :metadata_event event available at #on_metadata_event_event callback and response eventstream enumerator: # event.conversation_id #=> String # event.user_message_id #=> String # event.system_message_id #=> String @@ -565,7 +595,7 @@ def initialize(*args) # event.source_attributions[0].text_message_segments[0].source_details.video_source_details.video_extraction_type #=> String, one of "TRANSCRIPT", "SUMMARY" # event.final_text_message #=> String # - # For :action_review_event event available at #on_action_review_event_event callback and response eventstream enumerator: + # # For :action_review_event event available at #on_action_review_event_event callback and response eventstream enumerator: # event.conversation_id #=> String # event.user_message_id #=> String # event.system_message_id #=> String @@ -581,7 +611,7 @@ def initialize(*args) # event.payload["ActionPayloadFieldKey"].required #=> Boolean # event.payload_field_name_separator #=> String # - # For :failed_attachment_event event available at #on_failed_attachment_event_event callback and response eventstream enumerator: + # # For :failed_attachment_event event available at #on_failed_attachment_event_event callback and response eventstream enumerator: # event.conversation_id #=> String # event.user_message_id #=> String # event.system_message_id #=> String @@ -592,7 +622,7 @@ def initialize(*args) # event.attachment.attachment_id #=> String # event.attachment.conversation_id #=> String # - # For :auth_challenge_request_event event available at #on_auth_challenge_request_event_event callback and response eventstream enumerator: + # # For :auth_challenge_request_event event available at #on_auth_challenge_request_event_event callback and response eventstream enumerator: # event.authorization_url #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/Chat AWS API Documentation diff --git a/gems/aws-sdk-qbusiness/sig/async_client.rbs b/gems/aws-sdk-qbusiness/sig/async_client.rbs new file mode 100644 index 00000000000..93594e9e036 --- /dev/null +++ b/gems/aws-sdk-qbusiness/sig/async_client.rbs @@ -0,0 +1,86 @@ +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +module Aws + module QBusiness + class AsyncClient < ::Seahorse::Client::AsyncBase + include ::Aws::AsyncClientStubs + + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/QBusiness/AsyncClient.html#initialize-instance_method + def self.new: ( + ?credentials: untyped, + ?region: String, + ?access_key_id: String, + ?account_id: String, + ?adaptive_retry_wait_to_fill: bool, + ?convert_params: bool, + ?correct_clock_skew: bool, + ?defaults_mode: String, + ?disable_request_compression: bool, + ?endpoint: String, + ?event_stream_handler: Proc, + ?ignore_configured_endpoint_urls: bool, + ?input_event_stream_handler: Proc, + ?log_formatter: untyped, + ?log_level: Symbol, + ?logger: untyped, + ?max_attempts: Integer, + ?output_event_stream_handler: Proc, + ?profile: String, + ?request_checksum_calculation: String, + ?request_min_compression_size_bytes: Integer, + ?response_checksum_validation: String, + ?retry_backoff: Proc, + ?retry_base_delay: Float, + ?retry_jitter: (:none | :equal | :full | ^(Integer) -> Integer), + ?retry_limit: Integer, + ?retry_max_delay: Integer, + ?retry_mode: ("legacy" | "standard" | "adaptive"), + ?sdk_ua_app_id: String, + ?secret_access_key: String, + ?session_token: String, + ?sigv4a_signing_region_set: Array[String], + ?stub_responses: untyped, + ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, + ?token_provider: untyped, + ?use_dualstack_endpoint: bool, + ?use_fips_endpoint: bool, + ?validate_params: bool, + ?endpoint_provider: untyped, + ?connection_read_timeout: (Float | Integer), + ?connection_timeout: (Float | Integer), + ?enable_alpn: bool, + ?max_concurrent_streams: (Float | Integer), + ?read_chunk_size: (Float | Integer), + ?http_wire_trace: bool, + ?ssl_verify_peer: bool, + ?ssl_ca_bundle: String, + ?ssl_ca_directory: String, + ?ssl_ca_store: String, + ?raise_response_errors: bool + ) -> instance + | (?Hash[Symbol, untyped]) -> instance + + + interface _ChatResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::ChatOutput] + def output_stream: () -> Types::ChatOutputStream + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/QBusiness/AsyncClient.html#chat-instance_method + def chat: ( + application_id: ::String, + ?user_id: ::String, + ?user_groups: Array[::String], + ?conversation_id: ::String, + ?parent_message_id: ::String, + ?client_token: ::String, + input_event_stream_hander: untyped + ) ?{ (*untyped) -> void } -> _ChatResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _ChatResponseSuccess + end + end +end \ No newline at end of file diff --git a/gems/aws-sdk-qbusiness/sig/client.rbs b/gems/aws-sdk-qbusiness/sig/client.rbs index 47e773c12e4..85dae920430 100644 --- a/gems/aws-sdk-qbusiness/sig/client.rbs +++ b/gems/aws-sdk-qbusiness/sig/client.rbs @@ -251,22 +251,6 @@ module Aws ) -> _CancelSubscriptionResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CancelSubscriptionResponseSuccess - interface _ChatResponseSuccess - include ::Seahorse::Client::_ResponseSuccess[Types::ChatOutput] - def output_stream: () -> Types::ChatOutputStream - end - # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/QBusiness/Client.html#chat-instance_method - def chat: ( - application_id: ::String, - ?user_id: ::String, - ?user_groups: Array[::String], - ?conversation_id: ::String, - ?parent_message_id: ::String, - ?client_token: ::String, - input_event_stream_hander: untyped - ) ?{ (*untyped) -> void } -> _ChatResponseSuccess - | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _ChatResponseSuccess - interface _ChatSyncResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::ChatSyncOutput] def conversation_id: () -> ::String diff --git a/gems/aws-sdk-s3/sig/client.rbs b/gems/aws-sdk-s3/sig/client.rbs index 9caeec9a051..728690f4bad 100644 --- a/gems/aws-sdk-s3/sig/client.rbs +++ b/gems/aws-sdk-s3/sig/client.rbs @@ -66,7 +66,7 @@ module Aws ?secret_access_key: String, ?session_token: String, ?sigv4a_signing_region_set: Array[String], - ?stub_responses: bool, + ?stub_responses: untyped, ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, ?token_provider: untyped, ?use_accelerate_endpoint: bool, diff --git a/gems/aws-sdk-s3/sig/resource.rbs b/gems/aws-sdk-s3/sig/resource.rbs index 5a64f0439bc..cd5d30a52bd 100644 --- a/gems/aws-sdk-s3/sig/resource.rbs +++ b/gems/aws-sdk-s3/sig/resource.rbs @@ -66,7 +66,7 @@ module Aws ?secret_access_key: String, ?session_token: String, ?sigv4a_signing_region_set: Array[String], - ?stub_responses: bool, + ?stub_responses: untyped, ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, ?token_provider: untyped, ?use_accelerate_endpoint: bool, diff --git a/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime/client.rb b/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime/client.rb index a9753efd8b0..e74f0acf7e2 100644 --- a/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime/client.rb +++ b/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime/client.rb @@ -917,104 +917,110 @@ def invoke_endpoint_async(params = {}, options = {}) # # @example EventStream Operation Example # - # You can process the event once it arrives immediately, or wait until the - # full response is complete and iterate through the eventstream enumerator. - # - # To interact with event immediately, you need to register #invoke_endpoint_with_response_stream - # with callbacks. Callbacks can be registered for specific events or for all - # events, including error events. - # - # Callbacks can be passed into the `:event_stream_handler` option or within a - # block statement attached to the #invoke_endpoint_with_response_stream call directly. Hybrid - # pattern of both is also supported. - # - # `:event_stream_handler` option takes in either a Proc object or - # Aws::SageMakerRuntime::EventStreams::ResponseStream object. - # - # Usage pattern a): Callbacks with a block attached to #invoke_endpoint_with_response_stream - # Example for registering callbacks for all event types and an error event - # - # client.invoke_endpoint_with_response_stream( # params input# ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # ... - # end - # + # # You can process the event once it arrives immediately, or wait until the + # # full response is complete and iterate through the eventstream enumerator. + # + # # To interact with event immediately, you need to register invoke_endpoint_with_response_stream + # # with callbacks. Callbacks can be registered for specific events or for all + # # events, including error events. + # + # # Callbacks can be passed into the `:event_stream_handler` option or within a + # # block statement attached to the #invoke_endpoint_with_response_stream call directly. Hybrid + # # pattern of both is also supported. + # + # # `:event_stream_handler` option takes in either a Proc object or + # # Aws::SageMakerRuntime::EventStreams::ResponseStream object. + # + # # Usage pattern a): Callbacks with a block attached to #invoke_endpoint_with_response_stream + # # Example for registering callbacks for all event types and an error event + # client.invoke_endpoint_with_response_stream( + # # params input + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String # end # - # Usage pattern b): Pass in `:event_stream_handler` for #invoke_endpoint_with_response_stream - # - # 1) Create a Aws::SageMakerRuntime::EventStreams::ResponseStream object - # Example for registering callbacks with specific events - # - # handler = Aws::SageMakerRuntime::EventStreams::ResponseStream.new - # handler.on_payload_part_event do |event| - # event # => Aws::SageMakerRuntime::Types::PayloadPart - # end - # handler.on_model_stream_error_event do |event| - # event # => Aws::SageMakerRuntime::Types::ModelStreamError - # end - # handler.on_internal_stream_failure_event do |event| - # event # => Aws::SageMakerRuntime::Types::InternalStreamFailure - # end - # - # client.invoke_endpoint_with_response_stream( # params input #, event_stream_handler: handler) - # - # 2) Use a Ruby Proc object - # Example for registering callbacks with specific events - # - # handler = Proc.new do |stream| - # stream.on_payload_part_event do |event| - # event # => Aws::SageMakerRuntime::Types::PayloadPart - # end - # stream.on_model_stream_error_event do |event| - # event # => Aws::SageMakerRuntime::Types::ModelStreamError - # end - # stream.on_internal_stream_failure_event do |event| - # event # => Aws::SageMakerRuntime::Types::InternalStreamFailure - # end + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # # ... # end - # - # client.invoke_endpoint_with_response_stream( # params input #, event_stream_handler: handler) - # - # Usage pattern c): Hybrid pattern of a) and b) - # - # handler = Aws::SageMakerRuntime::EventStreams::ResponseStream.new - # handler.on_payload_part_event do |event| - # event # => Aws::SageMakerRuntime::Types::PayloadPart - # end - # handler.on_model_stream_error_event do |event| - # event # => Aws::SageMakerRuntime::Types::ModelStreamError - # end - # handler.on_internal_stream_failure_event do |event| - # event # => Aws::SageMakerRuntime::Types::InternalStreamFailure - # end - # - # client.invoke_endpoint_with_response_stream( # params input #, event_stream_handler: handler) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # end + # + # # Usage pattern b): Pass in `:event_stream_handler` for #invoke_endpoint_with_response_stream + # # 1) Create a Aws::SageMakerRuntime::EventStreams::ResponseStream object + # # Example for registering callbacks with specific events + # + # handler = Aws::SageMakerRuntime::EventStreams::ResponseStream.new + # handler.on_payload_part_event do |event| + # event # => Aws::SageMakerRuntime::Types::PayloadPart + # end + # handler.on_model_stream_error_event do |event| + # event # => Aws::SageMakerRuntime::Types::ModelStreamError + # end + # handler.on_internal_stream_failure_event do |event| + # event # => Aws::SageMakerRuntime::Types::InternalStreamFailure + # end + # + # client.invoke_endpoint_with_response_stream( + # # params inputs + # event_stream_handler: handler + # ) + # + # # 2) Use a Ruby Proc object + # # Example for registering callbacks with specific events + # handler = Proc.new do |stream| + # stream.on_payload_part_event do |event| + # event # => Aws::SageMakerRuntime::Types::PayloadPart # end + # stream.on_model_stream_error_event do |event| + # event # => Aws::SageMakerRuntime::Types::ModelStreamError + # end + # stream.on_internal_stream_failure_event do |event| + # event # => Aws::SageMakerRuntime::Types::InternalStreamFailure + # end + # end + # + # client.invoke_endpoint_with_response_stream( + # # params inputs + # event_stream_handler: handler + # ) + # + # # Usage pattern c): Hybrid pattern of a) and b) + # handler = Aws::SageMakerRuntime::EventStreams::ResponseStream.new + # handler.on_payload_part_event do |event| + # event # => Aws::SageMakerRuntime::Types::PayloadPart + # end + # handler.on_model_stream_error_event do |event| + # event # => Aws::SageMakerRuntime::Types::ModelStreamError + # end + # handler.on_internal_stream_failure_event do |event| + # event # => Aws::SageMakerRuntime::Types::InternalStreamFailure + # end + # + # client.invoke_endpoint_with_response_stream( + # # params input + # event_stream_handler: handler + # ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # end # - # You can also iterate through events after the response complete. - # - # Events are available at resp.body # => Enumerator - # For parameter input example, please refer to following request syntax + # # You can also iterate through events after the response complete. + # # Events are available at + # resp.body # => Enumerator + # # For parameter input example, please refer to following request syntax. # # @example Request syntax with placeholder values # @@ -1033,18 +1039,18 @@ def invoke_endpoint_async(params = {}, options = {}) # # @example Response structure # - # All events are available at resp.body: + # # All events are available at resp.body: # resp.body #=> Enumerator # resp.body.event_types #=> [:payload_part, :model_stream_error, :internal_stream_failure] # - # For :payload_part event available at #on_payload_part_event callback and response eventstream enumerator: + # # For :payload_part event available at #on_payload_part_event callback and response eventstream enumerator: # event.bytes #=> String # - # For :model_stream_error event available at #on_model_stream_error_event callback and response eventstream enumerator: + # # For :model_stream_error event available at #on_model_stream_error_event callback and response eventstream enumerator: # event.message #=> String # event.error_code #=> String # - # For :internal_stream_failure event available at #on_internal_stream_failure_event callback and response eventstream enumerator: + # # For :internal_stream_failure event available at #on_internal_stream_failure_event callback and response eventstream enumerator: # event.message #=> String # # resp.content_type #=> String diff --git a/gems/aws-sdk-transcribestreamingservice/lib/aws-sdk-transcribestreamingservice/async_client.rb b/gems/aws-sdk-transcribestreamingservice/lib/aws-sdk-transcribestreamingservice/async_client.rb index 27cff178dbf..46dab07c8bf 100644 --- a/gems/aws-sdk-transcribestreamingservice/lib/aws-sdk-transcribestreamingservice/async_client.rb +++ b/gems/aws-sdk-transcribestreamingservice/lib/aws-sdk-transcribestreamingservice/async_client.rb @@ -10,32 +10,44 @@ begin require 'http/2' rescue LoadError; end -require 'aws-sdk-core/plugins/credentials_configuration.rb' -require 'aws-sdk-core/plugins/logging.rb' -require 'aws-sdk-core/plugins/param_converter.rb' -require 'aws-sdk-core/plugins/param_validator.rb' -require 'aws-sdk-core/plugins/user_agent.rb' -require 'aws-sdk-core/plugins/helpful_socket_errors.rb' -require 'aws-sdk-core/plugins/retry_errors.rb' -require 'aws-sdk-core/plugins/global_configuration.rb' -require 'aws-sdk-core/plugins/regional_endpoint.rb' -require 'aws-sdk-core/plugins/stub_responses.rb' -require 'aws-sdk-core/plugins/idempotency_token.rb' -require 'aws-sdk-core/plugins/invocation_id.rb' -require 'aws-sdk-core/plugins/jsonvalue_converter.rb' -require 'aws-sdk-core/plugins/http_checksum.rb' -require 'aws-sdk-core/plugins/checksum_algorithm.rb' -require 'aws-sdk-core/plugins/request_compression.rb' -require 'aws-sdk-core/plugins/defaults_mode.rb' -require 'aws-sdk-core/plugins/recursion_detection.rb' -require 'aws-sdk-core/plugins/telemetry.rb' -require 'aws-sdk-core/plugins/sign.rb' -require 'aws-sdk-core/plugins/protocols/rest_json.rb' -require 'aws-sdk-core/plugins/event_stream_configuration.rb' +require 'aws-sdk-core/plugins/credentials_configuration' +require 'aws-sdk-core/plugins/logging' +require 'aws-sdk-core/plugins/param_converter' +require 'aws-sdk-core/plugins/param_validator' +require 'aws-sdk-core/plugins/user_agent' +require 'aws-sdk-core/plugins/helpful_socket_errors' +require 'aws-sdk-core/plugins/retry_errors' +require 'aws-sdk-core/plugins/global_configuration' +require 'aws-sdk-core/plugins/regional_endpoint' +require 'aws-sdk-core/plugins/stub_responses' +require 'aws-sdk-core/plugins/idempotency_token' +require 'aws-sdk-core/plugins/invocation_id' +require 'aws-sdk-core/plugins/jsonvalue_converter' +require 'aws-sdk-core/plugins/http_checksum' +require 'aws-sdk-core/plugins/checksum_algorithm' +require 'aws-sdk-core/plugins/request_compression' +require 'aws-sdk-core/plugins/defaults_mode' +require 'aws-sdk-core/plugins/recursion_detection' +require 'aws-sdk-core/plugins/telemetry' +require 'aws-sdk-core/plugins/sign' +require 'aws-sdk-core/plugins/protocols/rest_json' +require 'aws-sdk-core/plugins/event_stream_configuration' Aws::Plugins::GlobalConfiguration.add_identifier(:transcribestreamingservice) module Aws::TranscribeStreamingService + # An API async client for TranscribeStreamingService. To construct an async client, you need to configure a `:region` and `:credentials`. + # + # async_client = Aws::TranscribeStreamingService::AsyncClient.new( + # region: region_name, + # credentials: credentials, + # # ... + # ) + # + # For details on configuring region and credentials see + # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html). + # + # See {#initialize} for a full list of supported configuration options. class AsyncClient < Seahorse::Client::AsyncBase include Aws::AsyncClientStubs @@ -68,6 +80,13 @@ class AsyncClient < Seahorse::Client::AsyncBase add_plugin(Aws::Plugins::EventStreamConfiguration) add_plugin(Aws::TranscribeStreamingService::Plugins::Endpoints) + # @overload initialize(options) + # @param [Hash] options + # + # @option options [Array] :plugins ([]]) + # A list of plugins to apply to the client. Each plugin is either a + # class name or an instance of a plugin class. + # # @option options [required, Aws::CredentialProvider] :credentials # Your AWS credentials. This can be an instance of any one of the # following classes: @@ -599,104 +618,107 @@ def initialize(*args) # * {Types::StartCallAnalyticsStreamTranscriptionResponse#pii_entity_types #pii_entity_types} => String # # @example Bi-directional EventStream Operation Example - # - # You can signal input events after the initial request is established. Events - # will be sent to the stream immediately once the stream connection is - # established successfully. - # - # To signal events, you can call the #signal methods from an Aws::TranscribeStreamingService::EventStreams::AudioStream - # object. You must signal events before calling #wait or #join! on the async response. - # - # input_stream = Aws::TranscribeStreamingService::EventStreams::AudioStream.new - # - # async_resp = client.start_call_analytics_stream_transcription( - # # params input - # input_event_stream_handler: input_stream) do |out_stream| - # - # # register callbacks for events - # out_stream.on_utterance_event_event do |event| - # event # => Aws::TranscribeStreamingService::Types::UtteranceEvent - # end - # out_stream.on_category_event_event do |event| - # event # => Aws::TranscribeStreamingService::Types::CategoryEvent - # end - # out_stream.on_bad_request_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::BadRequestException - # end - # out_stream.on_limit_exceeded_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::LimitExceededException - # end - # out_stream.on_internal_failure_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::InternalFailureException - # end - # out_stream.on_conflict_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::ConflictException - # end - # out_stream.on_service_unavailable_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException - # end - # - # end - # # => Aws::Seahorse::Client::AsyncResponse - # - # # signal events - # input_stream.signal_audio_event_event( ... ) - # input_stream.signal_configuration_event_event( ... ) - # - # # make sure to signal :end_stream at the end - # input_stream.signal_end_stream - # - # # wait until stream is closed before finalizing the sync response - # resp = async_resp.wait - # # Or close the stream and finalize sync response immediately - # # resp = async_resp.join! - # - # You can also provide an Aws::TranscribeStreamingService::EventStreams::CallAnalyticsTranscriptResultStream object to register callbacks - # before initializing the request instead of processing from the request block. - # - # output_stream = Aws::TranscribeStreamingService::EventStreams::CallAnalyticsTranscriptResultStream.new - # # register callbacks for output events - # output_stream.on_utterance_event_event do |event| + # # You can signal input events after the initial request is established. Events + # # will be sent to the stream immediately once the stream connection is + # # established successfully. + # + # # To signal events, you can call the #signal methods from an + # # Aws::TranscribeStreamingService::EventStreams::AudioStream object. + # # You must signal events before calling #wait or #join! on the async response. + # input_stream = Aws::TranscribeStreamingService::EventStreams::AudioStream.new + # + # async_resp = client.start_call_analytics_stream_transcription( + # # params input + # input_event_stream_handler: input_stream + # ) do |out_stream| + # # register callbacks for events + # out_stream.on_utterance_event_event do |event| # event # => Aws::TranscribeStreamingService::Types::UtteranceEvent # end - # output_stream.on_category_event_event do |event| + # out_stream.on_category_event_event do |event| # event # => Aws::TranscribeStreamingService::Types::CategoryEvent # end - # output_stream.on_bad_request_exception_event do |event| + # out_stream.on_bad_request_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::BadRequestException # end - # output_stream.on_limit_exceeded_exception_event do |event| + # out_stream.on_limit_exceeded_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::LimitExceededException # end - # output_stream.on_internal_failure_exception_event do |event| + # out_stream.on_internal_failure_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::InternalFailureException # end - # output_stream.on_conflict_exception_event do |event| + # out_stream.on_conflict_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::ConflictException # end - # output_stream.on_service_unavailable_exception_event do |event| + # out_stream.on_service_unavailable_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException # end - # output_stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # async_resp = client.start_call_analytics_stream_transcription ( - # # params input - # input_event_stream_handler: input_stream - # output_event_stream_handler: output_stream - # ) - # - # resp = async_resp.join! - # - # You can also iterate through events after the response is complete. - # - # Events are available at resp.call_analytics_transcript_result_stream # => Enumerator + # end + # # => Aws::Seahorse::Client::AsyncResponse + # + # # signal events + # input_stream.signal_audio_event_event( + # # ... + # ) + # input_stream.signal_configuration_event_event( + # # ... + # ) + # + # # make sure to signal :end_stream at the end + # input_stream.signal_end_stream + # + # # wait until stream is closed before finalizing the sync response + # resp = async_resp.wait + # + # # Or close the stream and finalize sync response immediately + # resp = async_resp.join! + # + # # You can also provide an Aws::TranscribeStreamingService::EventStreams::CallAnalyticsTranscriptResultStream object + # # to register callbacks before initializing the request instead of processing + # # from the request block. + # output_stream = Aws::TranscribeStreamingService::EventStreams::CallAnalyticsTranscriptResultStream.new + # + # # register callbacks for output events + # output_stream.on_utterance_event_event do |event| + # event # => Aws::TranscribeStreamingService::Types::UtteranceEvent + # end + # output_stream.on_category_event_event do |event| + # event # => Aws::TranscribeStreamingService::Types::CategoryEvent + # end + # output_stream.on_bad_request_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::BadRequestException + # end + # output_stream.on_limit_exceeded_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::LimitExceededException + # end + # output_stream.on_internal_failure_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::InternalFailureException + # end + # output_stream.on_conflict_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::ConflictException + # end + # output_stream.on_service_unavailable_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException + # end + # output_stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # async_resp = client.start_call_analytics_stream_transcription( + # # params input + # input_event_stream_handler: input_stream, + # output_event_stream_handler: output_stream + # ) + # resp = async_resp.join! + # + # # You can also iterate through events after the response is complete. + # # Events are available at + # resp.call_analytics_transcript_result_stream # => Enumerator # # @example Request syntax with placeholder values # @@ -729,11 +751,11 @@ def initialize(*args) # resp.media_encoding #=> String, one of "pcm", "ogg-opus", "flac" # resp.vocabulary_name #=> String # resp.session_id #=> String - # All events are available at resp.call_analytics_transcript_result_stream: + # # All events are available at resp.call_analytics_transcript_result_stream: # resp.call_analytics_transcript_result_stream #=> Enumerator # resp.call_analytics_transcript_result_stream.event_types #=> [:utterance_event, :category_event, :bad_request_exception, :limit_exceeded_exception, :internal_failure_exception, :conflict_exception, :service_unavailable_exception] # - # For :utterance_event event available at #on_utterance_event_event callback and response eventstream enumerator: + # # For :utterance_event event available at #on_utterance_event_event callback and response eventstream enumerator: # event.utterance_id #=> String # event.is_partial #=> Boolean # event.participant_role #=> String, one of "AGENT", "CUSTOMER" @@ -760,7 +782,7 @@ def initialize(*args) # event.issues_detected[0].character_offsets.begin #=> Integer # event.issues_detected[0].character_offsets.end #=> Integer # - # For :category_event event available at #on_category_event_event callback and response eventstream enumerator: + # # For :category_event event available at #on_category_event_event callback and response eventstream enumerator: # event.matched_categories #=> Array # event.matched_categories[0] #=> String # event.matched_details #=> Hash @@ -768,19 +790,19 @@ def initialize(*args) # event.matched_details["String"].timestamp_ranges[0].begin_offset_millis #=> Integer # event.matched_details["String"].timestamp_ranges[0].end_offset_millis #=> Integer # - # For :bad_request_exception event available at #on_bad_request_exception_event callback and response eventstream enumerator: + # # For :bad_request_exception event available at #on_bad_request_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :limit_exceeded_exception event available at #on_limit_exceeded_exception_event callback and response eventstream enumerator: + # # For :limit_exceeded_exception event available at #on_limit_exceeded_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: + # # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: + # # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: + # # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: # event.message #=> String # # resp.vocabulary_filter_name #=> String @@ -905,99 +927,104 @@ def start_call_analytics_stream_transcription(params = {}, options = {}, &block) # * {Types::StartMedicalScribeStreamResponse#result_stream #result_stream} => Types::MedicalScribeResultStream # # @example Bi-directional EventStream Operation Example - # - # You can signal input events after the initial request is established. Events - # will be sent to the stream immediately once the stream connection is - # established successfully. - # - # To signal events, you can call the #signal methods from an Aws::TranscribeStreamingService::EventStreams::MedicalScribeInputStream - # object. You must signal events before calling #wait or #join! on the async response. - # - # input_stream = Aws::TranscribeStreamingService::EventStreams::MedicalScribeInputStream.new - # - # async_resp = client.start_medical_scribe_stream( - # # params input - # input_event_stream_handler: input_stream) do |out_stream| - # - # # register callbacks for events - # out_stream.on_transcript_event_event do |event| - # event # => Aws::TranscribeStreamingService::Types::TranscriptEvent - # end - # out_stream.on_bad_request_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::BadRequestException - # end - # out_stream.on_limit_exceeded_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::LimitExceededException - # end - # out_stream.on_internal_failure_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::InternalFailureException - # end - # out_stream.on_conflict_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::ConflictException - # end - # out_stream.on_service_unavailable_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException - # end - # - # end - # # => Aws::Seahorse::Client::AsyncResponse - # - # # signal events - # input_stream.signal_audio_event_event( ... ) - # input_stream.signal_session_control_event_event( ... ) - # input_stream.signal_configuration_event_event( ... ) - # - # # make sure to signal :end_stream at the end - # input_stream.signal_end_stream - # - # # wait until stream is closed before finalizing the sync response - # resp = async_resp.wait - # # Or close the stream and finalize sync response immediately - # # resp = async_resp.join! - # - # You can also provide an Aws::TranscribeStreamingService::EventStreams::MedicalScribeResultStream object to register callbacks - # before initializing the request instead of processing from the request block. - # - # output_stream = Aws::TranscribeStreamingService::EventStreams::MedicalScribeResultStream.new - # # register callbacks for output events - # output_stream.on_transcript_event_event do |event| + # # You can signal input events after the initial request is established. Events + # # will be sent to the stream immediately once the stream connection is + # # established successfully. + # + # # To signal events, you can call the #signal methods from an + # # Aws::TranscribeStreamingService::EventStreams::MedicalScribeInputStream object. + # # You must signal events before calling #wait or #join! on the async response. + # input_stream = Aws::TranscribeStreamingService::EventStreams::MedicalScribeInputStream.new + # + # async_resp = client.start_medical_scribe_stream( + # # params input + # input_event_stream_handler: input_stream + # ) do |out_stream| + # # register callbacks for events + # out_stream.on_transcript_event_event do |event| # event # => Aws::TranscribeStreamingService::Types::TranscriptEvent # end - # output_stream.on_bad_request_exception_event do |event| + # out_stream.on_bad_request_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::BadRequestException # end - # output_stream.on_limit_exceeded_exception_event do |event| + # out_stream.on_limit_exceeded_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::LimitExceededException # end - # output_stream.on_internal_failure_exception_event do |event| + # out_stream.on_internal_failure_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::InternalFailureException # end - # output_stream.on_conflict_exception_event do |event| + # out_stream.on_conflict_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::ConflictException # end - # output_stream.on_service_unavailable_exception_event do |event| + # out_stream.on_service_unavailable_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException # end - # output_stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # async_resp = client.start_medical_scribe_stream ( - # # params input - # input_event_stream_handler: input_stream - # output_event_stream_handler: output_stream - # ) - # - # resp = async_resp.join! - # - # You can also iterate through events after the response is complete. - # - # Events are available at resp.result_stream # => Enumerator + # end + # # => Aws::Seahorse::Client::AsyncResponse + # + # # signal events + # input_stream.signal_audio_event_event( + # # ... + # ) + # input_stream.signal_session_control_event_event( + # # ... + # ) + # input_stream.signal_configuration_event_event( + # # ... + # ) + # + # # make sure to signal :end_stream at the end + # input_stream.signal_end_stream + # + # # wait until stream is closed before finalizing the sync response + # resp = async_resp.wait + # + # # Or close the stream and finalize sync response immediately + # resp = async_resp.join! + # + # # You can also provide an Aws::TranscribeStreamingService::EventStreams::MedicalScribeResultStream object + # # to register callbacks before initializing the request instead of processing + # # from the request block. + # output_stream = Aws::TranscribeStreamingService::EventStreams::MedicalScribeResultStream.new + # + # # register callbacks for output events + # output_stream.on_transcript_event_event do |event| + # event # => Aws::TranscribeStreamingService::Types::TranscriptEvent + # end + # output_stream.on_bad_request_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::BadRequestException + # end + # output_stream.on_limit_exceeded_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::LimitExceededException + # end + # output_stream.on_internal_failure_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::InternalFailureException + # end + # output_stream.on_conflict_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::ConflictException + # end + # output_stream.on_service_unavailable_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException + # end + # output_stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # async_resp = client.start_medical_scribe_stream( + # # params input + # input_event_stream_handler: input_stream, + # output_event_stream_handler: output_stream + # ) + # resp = async_resp.join! + # + # # You can also iterate through events after the response is complete. + # # Events are available at + # resp.result_stream # => Enumerator # # @example Request syntax with placeholder values # @@ -1020,11 +1047,11 @@ def start_call_analytics_stream_transcription(params = {}, options = {}, &block) # resp.language_code #=> String, one of "en-US" # resp.media_sample_rate_hertz #=> Integer # resp.media_encoding #=> String, one of "pcm", "ogg-opus", "flac" - # All events are available at resp.result_stream: + # # All events are available at resp.result_stream: # resp.result_stream #=> Enumerator # resp.result_stream.event_types #=> [:transcript_event, :bad_request_exception, :limit_exceeded_exception, :internal_failure_exception, :conflict_exception, :service_unavailable_exception] # - # For :transcript_event event available at #on_transcript_event_event callback and response eventstream enumerator: + # # For :transcript_event event available at #on_transcript_event_event callback and response eventstream enumerator: # event.transcript_segment.segment_id #=> String # event.transcript_segment.begin_audio_time #=> Float # event.transcript_segment.end_audio_time #=> Float @@ -1039,19 +1066,19 @@ def start_call_analytics_stream_transcription(params = {}, options = {}, &block) # event.transcript_segment.is_partial #=> Boolean # event.transcript_segment.channel_id #=> String # - # For :bad_request_exception event available at #on_bad_request_exception_event callback and response eventstream enumerator: + # # For :bad_request_exception event available at #on_bad_request_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :limit_exceeded_exception event available at #on_limit_exceeded_exception_event callback and response eventstream enumerator: + # # For :limit_exceeded_exception event available at #on_limit_exceeded_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: + # # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: + # # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: + # # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: # event.message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/transcribe-streaming-2017-10-26/StartMedicalScribeStream AWS API Documentation @@ -1218,98 +1245,101 @@ def start_medical_scribe_stream(params = {}, options = {}, &block) # * {Types::StartMedicalStreamTranscriptionResponse#content_identification_type #content_identification_type} => String # # @example Bi-directional EventStream Operation Example - # - # You can signal input events after the initial request is established. Events - # will be sent to the stream immediately once the stream connection is - # established successfully. - # - # To signal events, you can call the #signal methods from an Aws::TranscribeStreamingService::EventStreams::AudioStream - # object. You must signal events before calling #wait or #join! on the async response. - # - # input_stream = Aws::TranscribeStreamingService::EventStreams::AudioStream.new - # - # async_resp = client.start_medical_stream_transcription( - # # params input - # input_event_stream_handler: input_stream) do |out_stream| - # - # # register callbacks for events - # out_stream.on_transcript_event_event do |event| - # event # => Aws::TranscribeStreamingService::Types::TranscriptEvent - # end - # out_stream.on_bad_request_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::BadRequestException - # end - # out_stream.on_limit_exceeded_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::LimitExceededException - # end - # out_stream.on_internal_failure_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::InternalFailureException - # end - # out_stream.on_conflict_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::ConflictException - # end - # out_stream.on_service_unavailable_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException - # end - # - # end - # # => Aws::Seahorse::Client::AsyncResponse - # - # # signal events - # input_stream.signal_audio_event_event( ... ) - # input_stream.signal_configuration_event_event( ... ) - # - # # make sure to signal :end_stream at the end - # input_stream.signal_end_stream - # - # # wait until stream is closed before finalizing the sync response - # resp = async_resp.wait - # # Or close the stream and finalize sync response immediately - # # resp = async_resp.join! - # - # You can also provide an Aws::TranscribeStreamingService::EventStreams::MedicalTranscriptResultStream object to register callbacks - # before initializing the request instead of processing from the request block. - # - # output_stream = Aws::TranscribeStreamingService::EventStreams::MedicalTranscriptResultStream.new - # # register callbacks for output events - # output_stream.on_transcript_event_event do |event| + # # You can signal input events after the initial request is established. Events + # # will be sent to the stream immediately once the stream connection is + # # established successfully. + # + # # To signal events, you can call the #signal methods from an + # # Aws::TranscribeStreamingService::EventStreams::AudioStream object. + # # You must signal events before calling #wait or #join! on the async response. + # input_stream = Aws::TranscribeStreamingService::EventStreams::AudioStream.new + # + # async_resp = client.start_medical_stream_transcription( + # # params input + # input_event_stream_handler: input_stream + # ) do |out_stream| + # # register callbacks for events + # out_stream.on_transcript_event_event do |event| # event # => Aws::TranscribeStreamingService::Types::TranscriptEvent # end - # output_stream.on_bad_request_exception_event do |event| + # out_stream.on_bad_request_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::BadRequestException # end - # output_stream.on_limit_exceeded_exception_event do |event| + # out_stream.on_limit_exceeded_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::LimitExceededException # end - # output_stream.on_internal_failure_exception_event do |event| + # out_stream.on_internal_failure_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::InternalFailureException # end - # output_stream.on_conflict_exception_event do |event| + # out_stream.on_conflict_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::ConflictException # end - # output_stream.on_service_unavailable_exception_event do |event| + # out_stream.on_service_unavailable_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException # end - # output_stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # async_resp = client.start_medical_stream_transcription ( - # # params input - # input_event_stream_handler: input_stream - # output_event_stream_handler: output_stream - # ) - # - # resp = async_resp.join! - # - # You can also iterate through events after the response is complete. - # - # Events are available at resp.transcript_result_stream # => Enumerator + # end + # # => Aws::Seahorse::Client::AsyncResponse + # + # # signal events + # input_stream.signal_audio_event_event( + # # ... + # ) + # input_stream.signal_configuration_event_event( + # # ... + # ) + # + # # make sure to signal :end_stream at the end + # input_stream.signal_end_stream + # + # # wait until stream is closed before finalizing the sync response + # resp = async_resp.wait + # + # # Or close the stream and finalize sync response immediately + # resp = async_resp.join! + # + # # You can also provide an Aws::TranscribeStreamingService::EventStreams::MedicalTranscriptResultStream object + # # to register callbacks before initializing the request instead of processing + # # from the request block. + # output_stream = Aws::TranscribeStreamingService::EventStreams::MedicalTranscriptResultStream.new + # + # # register callbacks for output events + # output_stream.on_transcript_event_event do |event| + # event # => Aws::TranscribeStreamingService::Types::TranscriptEvent + # end + # output_stream.on_bad_request_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::BadRequestException + # end + # output_stream.on_limit_exceeded_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::LimitExceededException + # end + # output_stream.on_internal_failure_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::InternalFailureException + # end + # output_stream.on_conflict_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::ConflictException + # end + # output_stream.on_service_unavailable_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException + # end + # output_stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # async_resp = client.start_medical_stream_transcription( + # # params input + # input_event_stream_handler: input_stream, + # output_event_stream_handler: output_stream + # ) + # resp = async_resp.join! + # + # # You can also iterate through events after the response is complete. + # # Events are available at + # resp.transcript_result_stream # => Enumerator # # @example Request syntax with placeholder values # @@ -1343,11 +1373,11 @@ def start_medical_scribe_stream(params = {}, options = {}, &block) # resp.type #=> String, one of "CONVERSATION", "DICTATION" # resp.show_speaker_label #=> Boolean # resp.session_id #=> String - # All events are available at resp.transcript_result_stream: + # # All events are available at resp.transcript_result_stream: # resp.transcript_result_stream #=> Enumerator # resp.transcript_result_stream.event_types #=> [:transcript_event, :bad_request_exception, :limit_exceeded_exception, :internal_failure_exception, :conflict_exception, :service_unavailable_exception] # - # For :transcript_event event available at #on_transcript_event_event callback and response eventstream enumerator: + # # For :transcript_event event available at #on_transcript_event_event callback and response eventstream enumerator: # event.transcript.results #=> Array # event.transcript.results[0].result_id #=> String # event.transcript.results[0].start_time #=> Float @@ -1370,19 +1400,19 @@ def start_medical_scribe_stream(params = {}, options = {}, &block) # event.transcript.results[0].alternatives[0].entities[0].confidence #=> Float # event.transcript.results[0].channel_id #=> String # - # For :bad_request_exception event available at #on_bad_request_exception_event callback and response eventstream enumerator: + # # For :bad_request_exception event available at #on_bad_request_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :limit_exceeded_exception event available at #on_limit_exceeded_exception_event callback and response eventstream enumerator: + # # For :limit_exceeded_exception event available at #on_limit_exceeded_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: + # # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: + # # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: + # # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: # event.message #=> String # # resp.enable_channel_identification #=> Boolean @@ -1802,98 +1832,101 @@ def start_medical_stream_transcription(params = {}, options = {}, &block) # * {Types::StartStreamTranscriptionResponse#vocabulary_filter_names #vocabulary_filter_names} => String # # @example Bi-directional EventStream Operation Example - # - # You can signal input events after the initial request is established. Events - # will be sent to the stream immediately once the stream connection is - # established successfully. - # - # To signal events, you can call the #signal methods from an Aws::TranscribeStreamingService::EventStreams::AudioStream - # object. You must signal events before calling #wait or #join! on the async response. - # - # input_stream = Aws::TranscribeStreamingService::EventStreams::AudioStream.new - # - # async_resp = client.start_stream_transcription( - # # params input - # input_event_stream_handler: input_stream) do |out_stream| - # - # # register callbacks for events - # out_stream.on_transcript_event_event do |event| - # event # => Aws::TranscribeStreamingService::Types::TranscriptEvent - # end - # out_stream.on_bad_request_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::BadRequestException - # end - # out_stream.on_limit_exceeded_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::LimitExceededException - # end - # out_stream.on_internal_failure_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::InternalFailureException - # end - # out_stream.on_conflict_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::ConflictException - # end - # out_stream.on_service_unavailable_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException - # end - # - # end - # # => Aws::Seahorse::Client::AsyncResponse - # - # # signal events - # input_stream.signal_audio_event_event( ... ) - # input_stream.signal_configuration_event_event( ... ) - # - # # make sure to signal :end_stream at the end - # input_stream.signal_end_stream - # - # # wait until stream is closed before finalizing the sync response - # resp = async_resp.wait - # # Or close the stream and finalize sync response immediately - # # resp = async_resp.join! - # - # You can also provide an Aws::TranscribeStreamingService::EventStreams::TranscriptResultStream object to register callbacks - # before initializing the request instead of processing from the request block. - # - # output_stream = Aws::TranscribeStreamingService::EventStreams::TranscriptResultStream.new - # # register callbacks for output events - # output_stream.on_transcript_event_event do |event| + # # You can signal input events after the initial request is established. Events + # # will be sent to the stream immediately once the stream connection is + # # established successfully. + # + # # To signal events, you can call the #signal methods from an + # # Aws::TranscribeStreamingService::EventStreams::AudioStream object. + # # You must signal events before calling #wait or #join! on the async response. + # input_stream = Aws::TranscribeStreamingService::EventStreams::AudioStream.new + # + # async_resp = client.start_stream_transcription( + # # params input + # input_event_stream_handler: input_stream + # ) do |out_stream| + # # register callbacks for events + # out_stream.on_transcript_event_event do |event| # event # => Aws::TranscribeStreamingService::Types::TranscriptEvent # end - # output_stream.on_bad_request_exception_event do |event| + # out_stream.on_bad_request_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::BadRequestException # end - # output_stream.on_limit_exceeded_exception_event do |event| + # out_stream.on_limit_exceeded_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::LimitExceededException # end - # output_stream.on_internal_failure_exception_event do |event| + # out_stream.on_internal_failure_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::InternalFailureException # end - # output_stream.on_conflict_exception_event do |event| + # out_stream.on_conflict_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::ConflictException # end - # output_stream.on_service_unavailable_exception_event do |event| + # out_stream.on_service_unavailable_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException # end - # output_stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # async_resp = client.start_stream_transcription ( - # # params input - # input_event_stream_handler: input_stream - # output_event_stream_handler: output_stream - # ) - # - # resp = async_resp.join! - # - # You can also iterate through events after the response is complete. - # - # Events are available at resp.transcript_result_stream # => Enumerator + # end + # # => Aws::Seahorse::Client::AsyncResponse + # + # # signal events + # input_stream.signal_audio_event_event( + # # ... + # ) + # input_stream.signal_configuration_event_event( + # # ... + # ) + # + # # make sure to signal :end_stream at the end + # input_stream.signal_end_stream + # + # # wait until stream is closed before finalizing the sync response + # resp = async_resp.wait + # + # # Or close the stream and finalize sync response immediately + # resp = async_resp.join! + # + # # You can also provide an Aws::TranscribeStreamingService::EventStreams::TranscriptResultStream object + # # to register callbacks before initializing the request instead of processing + # # from the request block. + # output_stream = Aws::TranscribeStreamingService::EventStreams::TranscriptResultStream.new + # + # # register callbacks for output events + # output_stream.on_transcript_event_event do |event| + # event # => Aws::TranscribeStreamingService::Types::TranscriptEvent + # end + # output_stream.on_bad_request_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::BadRequestException + # end + # output_stream.on_limit_exceeded_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::LimitExceededException + # end + # output_stream.on_internal_failure_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::InternalFailureException + # end + # output_stream.on_conflict_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::ConflictException + # end + # output_stream.on_service_unavailable_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException + # end + # output_stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # async_resp = client.start_stream_transcription( + # # params input + # input_event_stream_handler: input_stream, + # output_event_stream_handler: output_stream + # ) + # resp = async_resp.join! + # + # # You can also iterate through events after the response is complete. + # # Events are available at + # resp.transcript_result_stream # => Enumerator # # @example Request syntax with placeholder values # @@ -1935,11 +1968,11 @@ def start_medical_stream_transcription(params = {}, options = {}, &block) # resp.media_encoding #=> String, one of "pcm", "ogg-opus", "flac" # resp.vocabulary_name #=> String # resp.session_id #=> String - # All events are available at resp.transcript_result_stream: + # # All events are available at resp.transcript_result_stream: # resp.transcript_result_stream #=> Enumerator # resp.transcript_result_stream.event_types #=> [:transcript_event, :bad_request_exception, :limit_exceeded_exception, :internal_failure_exception, :conflict_exception, :service_unavailable_exception] # - # For :transcript_event event available at #on_transcript_event_event callback and response eventstream enumerator: + # # For :transcript_event event available at #on_transcript_event_event callback and response eventstream enumerator: # event.transcript.results #=> Array # event.transcript.results[0].result_id #=> String # event.transcript.results[0].start_time #=> Float @@ -1969,19 +2002,19 @@ def start_medical_stream_transcription(params = {}, options = {}, &block) # event.transcript.results[0].language_identification[0].language_code #=> String, one of "en-US", "en-GB", "es-US", "fr-CA", "fr-FR", "en-AU", "it-IT", "de-DE", "pt-BR", "ja-JP", "ko-KR", "zh-CN", "th-TH", "es-ES", "ar-SA", "pt-PT", "ca-ES", "ar-AE", "hi-IN", "zh-HK", "nl-NL", "no-NO", "sv-SE", "pl-PL", "fi-FI", "zh-TW", "en-IN", "en-IE", "en-NZ", "en-AB", "en-ZA", "en-WL", "de-CH", "af-ZA", "eu-ES", "hr-HR", "cs-CZ", "da-DK", "fa-IR", "gl-ES", "el-GR", "he-IL", "id-ID", "lv-LV", "ms-MY", "ro-RO", "ru-RU", "sr-RS", "sk-SK", "so-SO", "tl-PH", "uk-UA", "vi-VN", "zu-ZA" # event.transcript.results[0].language_identification[0].score #=> Float # - # For :bad_request_exception event available at #on_bad_request_exception_event callback and response eventstream enumerator: + # # For :bad_request_exception event available at #on_bad_request_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :limit_exceeded_exception event available at #on_limit_exceeded_exception_event callback and response eventstream enumerator: + # # For :limit_exceeded_exception event available at #on_limit_exceeded_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: + # # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: + # # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: # event.message #=> String # - # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: + # # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: # event.message #=> String # # resp.vocabulary_filter_name #=> String diff --git a/gems/aws-sdk-transcribestreamingservice/sig/async_client.rbs b/gems/aws-sdk-transcribestreamingservice/sig/async_client.rbs new file mode 100644 index 00000000000..796c1bdf83a --- /dev/null +++ b/gems/aws-sdk-transcribestreamingservice/sig/async_client.rbs @@ -0,0 +1,214 @@ +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +module Aws + module TranscribeStreamingService + class AsyncClient < ::Seahorse::Client::AsyncBase + include ::Aws::AsyncClientStubs + + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/TranscribeStreamingService/AsyncClient.html#initialize-instance_method + def self.new: ( + ?credentials: untyped, + ?region: String, + ?access_key_id: String, + ?account_id: String, + ?adaptive_retry_wait_to_fill: bool, + ?convert_params: bool, + ?correct_clock_skew: bool, + ?defaults_mode: String, + ?disable_request_compression: bool, + ?endpoint: String, + ?event_stream_handler: Proc, + ?ignore_configured_endpoint_urls: bool, + ?input_event_stream_handler: Proc, + ?log_formatter: untyped, + ?log_level: Symbol, + ?logger: untyped, + ?max_attempts: Integer, + ?output_event_stream_handler: Proc, + ?profile: String, + ?request_checksum_calculation: String, + ?request_min_compression_size_bytes: Integer, + ?response_checksum_validation: String, + ?retry_backoff: Proc, + ?retry_base_delay: Float, + ?retry_jitter: (:none | :equal | :full | ^(Integer) -> Integer), + ?retry_limit: Integer, + ?retry_max_delay: Integer, + ?retry_mode: ("legacy" | "standard" | "adaptive"), + ?sdk_ua_app_id: String, + ?secret_access_key: String, + ?session_token: String, + ?sigv4a_signing_region_set: Array[String], + ?stub_responses: untyped, + ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, + ?token_provider: untyped, + ?use_dualstack_endpoint: bool, + ?use_fips_endpoint: bool, + ?validate_params: bool, + ?endpoint_provider: untyped, + ?connection_read_timeout: (Float | Integer), + ?connection_timeout: (Float | Integer), + ?enable_alpn: bool, + ?max_concurrent_streams: (Float | Integer), + ?read_chunk_size: (Float | Integer), + ?http_wire_trace: bool, + ?ssl_verify_peer: bool, + ?ssl_ca_bundle: String, + ?ssl_ca_directory: String, + ?ssl_ca_store: String, + ?raise_response_errors: bool + ) -> instance + | (?Hash[Symbol, untyped]) -> instance + + + interface _StartCallAnalyticsStreamTranscriptionResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::StartCallAnalyticsStreamTranscriptionResponse] + def request_id: () -> ::String + def language_code: () -> ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR") + def media_sample_rate_hertz: () -> ::Integer + def media_encoding: () -> ("pcm" | "ogg-opus" | "flac") + def vocabulary_name: () -> ::String + def session_id: () -> ::String + def call_analytics_transcript_result_stream: () -> Types::CallAnalyticsTranscriptResultStream + def vocabulary_filter_name: () -> ::String + def vocabulary_filter_method: () -> ("remove" | "mask" | "tag") + def language_model_name: () -> ::String + def enable_partial_results_stabilization: () -> bool + def partial_results_stability: () -> ("high" | "medium" | "low") + def content_identification_type: () -> ("PII") + def content_redaction_type: () -> ("PII") + def pii_entity_types: () -> ::String + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/TranscribeStreamingService/AsyncClient.html#start_call_analytics_stream_transcription-instance_method + def start_call_analytics_stream_transcription: ( + language_code: ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR"), + media_sample_rate_hertz: ::Integer, + media_encoding: ("pcm" | "ogg-opus" | "flac"), + ?vocabulary_name: ::String, + ?session_id: ::String, + input_event_stream_hander: untyped, + ?vocabulary_filter_name: ::String, + ?vocabulary_filter_method: ("remove" | "mask" | "tag"), + ?language_model_name: ::String, + ?enable_partial_results_stabilization: bool, + ?partial_results_stability: ("high" | "medium" | "low"), + ?content_identification_type: ("PII"), + ?content_redaction_type: ("PII"), + ?pii_entity_types: ::String + ) ?{ (*untyped) -> void } -> _StartCallAnalyticsStreamTranscriptionResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _StartCallAnalyticsStreamTranscriptionResponseSuccess + + interface _StartMedicalScribeStreamResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::StartMedicalScribeStreamResponse] + def session_id: () -> ::String + def request_id: () -> ::String + def language_code: () -> ("en-US") + def media_sample_rate_hertz: () -> ::Integer + def media_encoding: () -> ("pcm" | "ogg-opus" | "flac") + def result_stream: () -> Types::MedicalScribeResultStream + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/TranscribeStreamingService/AsyncClient.html#start_medical_scribe_stream-instance_method + def start_medical_scribe_stream: ( + ?session_id: ::String, + language_code: ("en-US"), + media_sample_rate_hertz: ::Integer, + media_encoding: ("pcm" | "ogg-opus" | "flac"), + input_event_stream_hander: untyped + ) ?{ (*untyped) -> void } -> _StartMedicalScribeStreamResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _StartMedicalScribeStreamResponseSuccess + + interface _StartMedicalStreamTranscriptionResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::StartMedicalStreamTranscriptionResponse] + def request_id: () -> ::String + def language_code: () -> ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA") + def media_sample_rate_hertz: () -> ::Integer + def media_encoding: () -> ("pcm" | "ogg-opus" | "flac") + def vocabulary_name: () -> ::String + def specialty: () -> ("PRIMARYCARE" | "CARDIOLOGY" | "NEUROLOGY" | "ONCOLOGY" | "RADIOLOGY" | "UROLOGY") + def type: () -> ("CONVERSATION" | "DICTATION") + def show_speaker_label: () -> bool + def session_id: () -> ::String + def transcript_result_stream: () -> Types::MedicalTranscriptResultStream + def enable_channel_identification: () -> bool + def number_of_channels: () -> ::Integer + def content_identification_type: () -> ("PHI") + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/TranscribeStreamingService/AsyncClient.html#start_medical_stream_transcription-instance_method + def start_medical_stream_transcription: ( + language_code: ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA"), + media_sample_rate_hertz: ::Integer, + media_encoding: ("pcm" | "ogg-opus" | "flac"), + ?vocabulary_name: ::String, + specialty: ("PRIMARYCARE" | "CARDIOLOGY" | "NEUROLOGY" | "ONCOLOGY" | "RADIOLOGY" | "UROLOGY"), + type: ("CONVERSATION" | "DICTATION"), + ?show_speaker_label: bool, + ?session_id: ::String, + input_event_stream_hander: untyped, + ?enable_channel_identification: bool, + ?number_of_channels: ::Integer, + ?content_identification_type: ("PHI") + ) ?{ (*untyped) -> void } -> _StartMedicalStreamTranscriptionResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _StartMedicalStreamTranscriptionResponseSuccess + + interface _StartStreamTranscriptionResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::StartStreamTranscriptionResponse] + def request_id: () -> ::String + def language_code: () -> ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA") + def media_sample_rate_hertz: () -> ::Integer + def media_encoding: () -> ("pcm" | "ogg-opus" | "flac") + def vocabulary_name: () -> ::String + def session_id: () -> ::String + def transcript_result_stream: () -> Types::TranscriptResultStream + def vocabulary_filter_name: () -> ::String + def vocabulary_filter_method: () -> ("remove" | "mask" | "tag") + def show_speaker_label: () -> bool + def enable_channel_identification: () -> bool + def number_of_channels: () -> ::Integer + def enable_partial_results_stabilization: () -> bool + def partial_results_stability: () -> ("high" | "medium" | "low") + def content_identification_type: () -> ("PII") + def content_redaction_type: () -> ("PII") + def pii_entity_types: () -> ::String + def language_model_name: () -> ::String + def identify_language: () -> bool + def language_options: () -> ::String + def preferred_language: () -> ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA") + def identify_multiple_languages: () -> bool + def vocabulary_names: () -> ::String + def vocabulary_filter_names: () -> ::String + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/TranscribeStreamingService/AsyncClient.html#start_stream_transcription-instance_method + def start_stream_transcription: ( + ?language_code: ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA"), + media_sample_rate_hertz: ::Integer, + media_encoding: ("pcm" | "ogg-opus" | "flac"), + ?vocabulary_name: ::String, + ?session_id: ::String, + input_event_stream_hander: untyped, + ?vocabulary_filter_name: ::String, + ?vocabulary_filter_method: ("remove" | "mask" | "tag"), + ?show_speaker_label: bool, + ?enable_channel_identification: bool, + ?number_of_channels: ::Integer, + ?enable_partial_results_stabilization: bool, + ?partial_results_stability: ("high" | "medium" | "low"), + ?content_identification_type: ("PII"), + ?content_redaction_type: ("PII"), + ?pii_entity_types: ::String, + ?language_model_name: ::String, + ?identify_language: bool, + ?language_options: ::String, + ?preferred_language: ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA"), + ?identify_multiple_languages: bool, + ?vocabulary_names: ::String, + ?vocabulary_filter_names: ::String + ) ?{ (*untyped) -> void } -> _StartStreamTranscriptionResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _StartStreamTranscriptionResponseSuccess + end + end +end \ No newline at end of file diff --git a/gems/aws-sdk-transcribestreamingservice/sig/client.rbs b/gems/aws-sdk-transcribestreamingservice/sig/client.rbs index ccfeac439b7..ee0bd4f9d48 100644 --- a/gems/aws-sdk-transcribestreamingservice/sig/client.rbs +++ b/gems/aws-sdk-transcribestreamingservice/sig/client.rbs @@ -89,150 +89,6 @@ module Aws session_id: ::String ) -> _GetMedicalScribeStreamResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetMedicalScribeStreamResponseSuccess - - interface _StartCallAnalyticsStreamTranscriptionResponseSuccess - include ::Seahorse::Client::_ResponseSuccess[Types::StartCallAnalyticsStreamTranscriptionResponse] - def request_id: () -> ::String - def language_code: () -> ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR") - def media_sample_rate_hertz: () -> ::Integer - def media_encoding: () -> ("pcm" | "ogg-opus" | "flac") - def vocabulary_name: () -> ::String - def session_id: () -> ::String - def call_analytics_transcript_result_stream: () -> Types::CallAnalyticsTranscriptResultStream - def vocabulary_filter_name: () -> ::String - def vocabulary_filter_method: () -> ("remove" | "mask" | "tag") - def language_model_name: () -> ::String - def enable_partial_results_stabilization: () -> bool - def partial_results_stability: () -> ("high" | "medium" | "low") - def content_identification_type: () -> ("PII") - def content_redaction_type: () -> ("PII") - def pii_entity_types: () -> ::String - end - # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/TranscribeStreamingService/Client.html#start_call_analytics_stream_transcription-instance_method - def start_call_analytics_stream_transcription: ( - language_code: ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR"), - media_sample_rate_hertz: ::Integer, - media_encoding: ("pcm" | "ogg-opus" | "flac"), - ?vocabulary_name: ::String, - ?session_id: ::String, - input_event_stream_hander: untyped, - ?vocabulary_filter_name: ::String, - ?vocabulary_filter_method: ("remove" | "mask" | "tag"), - ?language_model_name: ::String, - ?enable_partial_results_stabilization: bool, - ?partial_results_stability: ("high" | "medium" | "low"), - ?content_identification_type: ("PII"), - ?content_redaction_type: ("PII"), - ?pii_entity_types: ::String - ) ?{ (*untyped) -> void } -> _StartCallAnalyticsStreamTranscriptionResponseSuccess - | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _StartCallAnalyticsStreamTranscriptionResponseSuccess - - interface _StartMedicalScribeStreamResponseSuccess - include ::Seahorse::Client::_ResponseSuccess[Types::StartMedicalScribeStreamResponse] - def session_id: () -> ::String - def request_id: () -> ::String - def language_code: () -> ("en-US") - def media_sample_rate_hertz: () -> ::Integer - def media_encoding: () -> ("pcm" | "ogg-opus" | "flac") - def result_stream: () -> Types::MedicalScribeResultStream - end - # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/TranscribeStreamingService/Client.html#start_medical_scribe_stream-instance_method - def start_medical_scribe_stream: ( - ?session_id: ::String, - language_code: ("en-US"), - media_sample_rate_hertz: ::Integer, - media_encoding: ("pcm" | "ogg-opus" | "flac"), - input_event_stream_hander: untyped - ) ?{ (*untyped) -> void } -> _StartMedicalScribeStreamResponseSuccess - | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _StartMedicalScribeStreamResponseSuccess - - interface _StartMedicalStreamTranscriptionResponseSuccess - include ::Seahorse::Client::_ResponseSuccess[Types::StartMedicalStreamTranscriptionResponse] - def request_id: () -> ::String - def language_code: () -> ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA") - def media_sample_rate_hertz: () -> ::Integer - def media_encoding: () -> ("pcm" | "ogg-opus" | "flac") - def vocabulary_name: () -> ::String - def specialty: () -> ("PRIMARYCARE" | "CARDIOLOGY" | "NEUROLOGY" | "ONCOLOGY" | "RADIOLOGY" | "UROLOGY") - def type: () -> ("CONVERSATION" | "DICTATION") - def show_speaker_label: () -> bool - def session_id: () -> ::String - def transcript_result_stream: () -> Types::MedicalTranscriptResultStream - def enable_channel_identification: () -> bool - def number_of_channels: () -> ::Integer - def content_identification_type: () -> ("PHI") - end - # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/TranscribeStreamingService/Client.html#start_medical_stream_transcription-instance_method - def start_medical_stream_transcription: ( - language_code: ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA"), - media_sample_rate_hertz: ::Integer, - media_encoding: ("pcm" | "ogg-opus" | "flac"), - ?vocabulary_name: ::String, - specialty: ("PRIMARYCARE" | "CARDIOLOGY" | "NEUROLOGY" | "ONCOLOGY" | "RADIOLOGY" | "UROLOGY"), - type: ("CONVERSATION" | "DICTATION"), - ?show_speaker_label: bool, - ?session_id: ::String, - input_event_stream_hander: untyped, - ?enable_channel_identification: bool, - ?number_of_channels: ::Integer, - ?content_identification_type: ("PHI") - ) ?{ (*untyped) -> void } -> _StartMedicalStreamTranscriptionResponseSuccess - | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _StartMedicalStreamTranscriptionResponseSuccess - - interface _StartStreamTranscriptionResponseSuccess - include ::Seahorse::Client::_ResponseSuccess[Types::StartStreamTranscriptionResponse] - def request_id: () -> ::String - def language_code: () -> ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA") - def media_sample_rate_hertz: () -> ::Integer - def media_encoding: () -> ("pcm" | "ogg-opus" | "flac") - def vocabulary_name: () -> ::String - def session_id: () -> ::String - def transcript_result_stream: () -> Types::TranscriptResultStream - def vocabulary_filter_name: () -> ::String - def vocabulary_filter_method: () -> ("remove" | "mask" | "tag") - def show_speaker_label: () -> bool - def enable_channel_identification: () -> bool - def number_of_channels: () -> ::Integer - def enable_partial_results_stabilization: () -> bool - def partial_results_stability: () -> ("high" | "medium" | "low") - def content_identification_type: () -> ("PII") - def content_redaction_type: () -> ("PII") - def pii_entity_types: () -> ::String - def language_model_name: () -> ::String - def identify_language: () -> bool - def language_options: () -> ::String - def preferred_language: () -> ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA") - def identify_multiple_languages: () -> bool - def vocabulary_names: () -> ::String - def vocabulary_filter_names: () -> ::String - end - # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/TranscribeStreamingService/Client.html#start_stream_transcription-instance_method - def start_stream_transcription: ( - ?language_code: ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA"), - media_sample_rate_hertz: ::Integer, - media_encoding: ("pcm" | "ogg-opus" | "flac"), - ?vocabulary_name: ::String, - ?session_id: ::String, - input_event_stream_hander: untyped, - ?vocabulary_filter_name: ::String, - ?vocabulary_filter_method: ("remove" | "mask" | "tag"), - ?show_speaker_label: bool, - ?enable_channel_identification: bool, - ?number_of_channels: ::Integer, - ?enable_partial_results_stabilization: bool, - ?partial_results_stability: ("high" | "medium" | "low"), - ?content_identification_type: ("PII"), - ?content_redaction_type: ("PII"), - ?pii_entity_types: ::String, - ?language_model_name: ::String, - ?identify_language: bool, - ?language_options: ::String, - ?preferred_language: ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA"), - ?identify_multiple_languages: bool, - ?vocabulary_names: ::String, - ?vocabulary_filter_names: ::String - ) ?{ (*untyped) -> void } -> _StartStreamTranscriptionResponseSuccess - | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _StartStreamTranscriptionResponseSuccess end end end From 2a926ce40df80e1c19ef3167c97bc63239500572 Mon Sep 17 00:00:00 2001 From: Juli Tera Date: Mon, 28 Apr 2025 07:11:39 -0700 Subject: [PATCH 19/22] Add comment on SKIP MEMBERS --- .../views/rbs/async_client_class.rb | 34 ++++++++++++++----- .../views/rbs/client_class.rb | 2 ++ 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/async_client_class.rb b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/async_client_class.rb index 0a9ab017422..005713e8054 100644 --- a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/async_client_class.rb +++ b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/async_client_class.rb @@ -4,14 +4,18 @@ module AwsSdkCodeGenerator module Views module RBS class AsyncClientClass < View - SKIP_MEMBERS = Set.new(%w[ - context - data - error - checksum_validated - on - on_success - ]) + # Delegated methods on response/output + # so would not be included in the rbs + SKIP_MEMBERS = Set.new( + %w[ + context + data + error + checksum_validated + on + on_success + ] + ) def initialize(options) @options = options @@ -98,6 +102,20 @@ def operations end.compact end + def label_value(input, label, params) + name = nil + input.members.each do |member_name, member_shape| + next unless member_shape.traits.include?('smithy.api#hostLabel') + next unless member_shape.name == label + + name = member_name + end + raise ArgumentError, "#{label} is not a valid host label" if name.nil? + raise ArgumentError, "params[#{name}] must not be nil or blank" if params[name].nil? || params[name].empty? + + params[name] + end + private def async_operation?(operation) diff --git a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/client_class.rb b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/client_class.rb index df0093523d0..778719cfd1a 100644 --- a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/client_class.rb +++ b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/client_class.rb @@ -4,6 +4,8 @@ module AwsSdkCodeGenerator module Views module RBS class ClientClass < View + # Delegated methods on response/output + # so would not be included in the rbs SKIP_MEMBERS = Set.new(%w[ context data From 3423425aa8ddf7c84ad1fdf38beb708f10bc6001 Mon Sep 17 00:00:00 2001 From: Juli Tera Date: Mon, 28 Apr 2025 08:18:06 -0700 Subject: [PATCH 20/22] Update async client rbs to handle eventstream handler output --- .../rbs/keyword_argument_builder.rb | 12 ++++++++---- .../views/rbs/async_client_class.rb | 12 +++++++++++- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/rbs/keyword_argument_builder.rb b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/rbs/keyword_argument_builder.rb index 75a1504ef8b..87b0843aeff 100644 --- a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/rbs/keyword_argument_builder.rb +++ b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/rbs/keyword_argument_builder.rb @@ -8,10 +8,11 @@ class KeywordArgumentBuilder attr_reader :newline - def initialize(api:, shape:, newline:) + def initialize(api:, shape:, newline:, options: {}) @api = api @shape = shape @newline = newline + @options = options end def format(indent: '') @@ -39,8 +40,11 @@ def struct_members(struct_shape, i, visited, keyword:) next if member_ref['documented'] === false more_indent = newline ? " " : "" if @api['shapes'][member_ref['shape']]['eventstream'] === true - # FIXME: "input_event_stream_hander: EventStreams::#{member_ref['shape']}.new" - lines << "#{i}#{more_indent}input_event_stream_hander: untyped," + # FIXME: "input_event_stream_hander: EventStreams::#{member_ref['shape']}.new" + lines << "#{i}#{more_indent}input_event_stream_handler: untyped," + if @options[:bidirectional_eventstreaming] + lines << "#{i}#{more_indent}output_event_stream_handler: untyped," + end else lines << "#{i}#{more_indent}#{struct_member(struct_shape, member_name, member_ref, i, visited, keyword: keyword)}" end @@ -143,7 +147,7 @@ def string(ref) if string_shape['enum'] "(#{string_shape['enum'].map { |s| "\"#{s}\"" }.join(" | ")})" else ref['shape'] - "::String" + "::String" end end diff --git a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/async_client_class.rb b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/async_client_class.rb index 005713e8054..57618d91e31 100644 --- a/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/async_client_class.rb +++ b/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/views/rbs/async_client_class.rb @@ -50,6 +50,8 @@ def operations @api['operations'].map do |name, body| next unless async_operation?(body) + + method_name = Underscore.underscore(name) indent = ' ' * (12 + method_name.length) input_shape_name = body.dig('input', 'shape') @@ -57,10 +59,18 @@ def operations include_required = false if input_shape_name input_shape = shapes[input_shape_name] + options = + if AwsSdkCodeGenerator::Helper.operation_bidirectional_eventstreaming?(body, @api) + { bidirectional_eventstreaming: true } + else + {} + end + builder = AwsSdkCodeGenerator::RBS::KeywordArgumentBuilder.new( api: @api, shape: input_shape, - newline: true + newline: true, + options: options ) arguments = builder.format(indent: indent) include_required = input_shape['required']&.empty?&.! From 2edb5fc4ecebfd1acfca685b1d7488cd4f495f03 Mon Sep 17 00:00:00 2001 From: Juli Tera Date: Mon, 28 Apr 2025 08:21:02 -0700 Subject: [PATCH 21/22] Revert "Showcase codegenerated changes" This reverts commit d99a3bf4b3a29fa4cd46833114671ae212d6be94. --- .../lib/aws-sdk-bedrockagentruntime/client.rb | 1900 ++++++++--------- .../sig/async_client.rbs | 2 +- gems/aws-sdk-bedrockruntime/sig/client.rbs | 2 +- gems/aws-sdk-bedrockruntime/sig/resource.rbs | 2 +- .../lib/aws-sdk-cloudwatchlogs/client.rb | 220 +- .../lib/aws-sdk-iotsitewise/client.rb | 320 ++- .../lib/aws-sdk-kinesis/async_client.rb | 403 ++-- gems/aws-sdk-kinesis/sig/async_client.rbs | 87 - gems/aws-sdk-kinesis/sig/client.rbs | 16 + .../lib/aws-sdk-lambda/client.rb | 180 +- .../lib/aws-sdk-lexruntimev2/async_client.rb | 336 ++- .../aws-sdk-lexruntimev2/sig/async_client.rbs | 85 - gems/aws-sdk-lexruntimev2/sig/client.rbs | 15 + .../lib/aws-sdk-qbusiness/async_client.rb | 246 +-- gems/aws-sdk-qbusiness/sig/async_client.rbs | 86 - gems/aws-sdk-qbusiness/sig/client.rbs | 16 + gems/aws-sdk-s3/sig/client.rbs | 2 +- gems/aws-sdk-s3/sig/resource.rbs | 2 +- .../lib/aws-sdk-sagemakerruntime/client.rb | 200 +- .../async_client.rb | 785 ++++--- .../sig/async_client.rbs | 214 -- .../sig/client.rbs | 144 ++ 22 files changed, 2405 insertions(+), 2858 deletions(-) delete mode 100644 gems/aws-sdk-kinesis/sig/async_client.rbs delete mode 100644 gems/aws-sdk-lexruntimev2/sig/async_client.rbs delete mode 100644 gems/aws-sdk-qbusiness/sig/async_client.rbs delete mode 100644 gems/aws-sdk-transcribestreamingservice/sig/async_client.rbs diff --git a/gems/aws-sdk-bedrockagentruntime/lib/aws-sdk-bedrockagentruntime/client.rb b/gems/aws-sdk-bedrockagentruntime/lib/aws-sdk-bedrockagentruntime/client.rb index 4ea5477d5fa..2f507ab0c44 100644 --- a/gems/aws-sdk-bedrockagentruntime/lib/aws-sdk-bedrockagentruntime/client.rb +++ b/gems/aws-sdk-bedrockagentruntime/lib/aws-sdk-bedrockagentruntime/client.rb @@ -1072,209 +1072,203 @@ def get_session(params = {}, options = {}) # # @example EventStream Operation Example # - # # You can process the event once it arrives immediately, or wait until the - # # full response is complete and iterate through the eventstream enumerator. - # - # # To interact with event immediately, you need to register invoke_agent - # # with callbacks. Callbacks can be registered for specific events or for all - # # events, including error events. - # - # # Callbacks can be passed into the `:event_stream_handler` option or within a - # # block statement attached to the #invoke_agent call directly. Hybrid - # # pattern of both is also supported. - # - # # `:event_stream_handler` option takes in either a Proc object or - # # Aws::BedrockAgentRuntime::EventStreams::ResponseStream object. - # - # # Usage pattern a): Callbacks with a block attached to #invoke_agent - # # Example for registering callbacks for all event types and an error event - # client.invoke_agent( - # # params input - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # You can process the event once it arrives immediately, or wait until the + # full response is complete and iterate through the eventstream enumerator. + # + # To interact with event immediately, you need to register #invoke_agent + # with callbacks. Callbacks can be registered for specific events or for all + # events, including error events. + # + # Callbacks can be passed into the `:event_stream_handler` option or within a + # block statement attached to the #invoke_agent call directly. Hybrid + # pattern of both is also supported. + # + # `:event_stream_handler` option takes in either a Proc object or + # Aws::BedrockAgentRuntime::EventStreams::ResponseStream object. + # + # Usage pattern a): Callbacks with a block attached to #invoke_agent + # Example for registering callbacks for all event types and an error event + # + # client.invoke_agent( # params input# ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # ... + # end # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # # ... - # end - # end - # - # # Usage pattern b): Pass in `:event_stream_handler` for #invoke_agent - # # 1) Create a Aws::BedrockAgentRuntime::EventStreams::ResponseStream object - # # Example for registering callbacks with specific events - # - # handler = Aws::BedrockAgentRuntime::EventStreams::ResponseStream.new - # handler.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # handler.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # handler.on_chunk_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::chunk - # end - # handler.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # handler.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # handler.on_files_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::files - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # handler.on_model_not_ready_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::modelNotReadyException - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # handler.on_return_control_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::returnControl - # end - # handler.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # handler.on_trace_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::trace - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end - # - # client.invoke_agent( - # # params inputs - # event_stream_handler: handler - # ) - # - # # 2) Use a Ruby Proc object - # # Example for registering callbacks with specific events - # handler = Proc.new do |stream| - # stream.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # stream.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # stream.on_chunk_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::chunk - # end - # stream.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # stream.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # stream.on_files_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::files - # end - # stream.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # stream.on_model_not_ready_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::modelNotReadyException - # end - # stream.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # stream.on_return_control_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::returnControl - # end - # stream.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # stream.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException # end - # stream.on_trace_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::trace - # end - # stream.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException + # + # Usage pattern b): Pass in `:event_stream_handler` for #invoke_agent + # + # 1) Create a Aws::BedrockAgentRuntime::EventStreams::ResponseStream object + # Example for registering callbacks with specific events + # + # handler = Aws::BedrockAgentRuntime::EventStreams::ResponseStream.new + # handler.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # handler.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # handler.on_chunk_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::chunk + # end + # handler.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # handler.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # handler.on_files_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::files + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # handler.on_model_not_ready_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::modelNotReadyException + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # handler.on_return_control_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::returnControl + # end + # handler.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # handler.on_trace_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::trace + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # + # client.invoke_agent( # params input #, event_stream_handler: handler) + # + # 2) Use a Ruby Proc object + # Example for registering callbacks with specific events + # + # handler = Proc.new do |stream| + # stream.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # stream.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # stream.on_chunk_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::chunk + # end + # stream.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # stream.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # stream.on_files_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::files + # end + # stream.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # stream.on_model_not_ready_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::modelNotReadyException + # end + # stream.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # stream.on_return_control_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::returnControl + # end + # stream.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # stream.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # stream.on_trace_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::trace + # end + # stream.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end # end - # end - # - # client.invoke_agent( - # # params inputs - # event_stream_handler: handler - # ) - # - # # Usage pattern c): Hybrid pattern of a) and b) - # handler = Aws::BedrockAgentRuntime::EventStreams::ResponseStream.new - # handler.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # handler.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # handler.on_chunk_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::chunk - # end - # handler.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # handler.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # handler.on_files_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::files - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # handler.on_model_not_ready_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::modelNotReadyException - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # handler.on_return_control_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::returnControl - # end - # handler.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # handler.on_trace_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::trace - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end - # - # client.invoke_agent( - # # params input - # event_stream_handler: handler - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String + # + # client.invoke_agent( # params input #, event_stream_handler: handler) + # + # Usage pattern c): Hybrid pattern of a) and b) + # + # handler = Aws::BedrockAgentRuntime::EventStreams::ResponseStream.new + # handler.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # handler.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # handler.on_chunk_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::chunk + # end + # handler.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # handler.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # handler.on_files_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::files + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # handler.on_model_not_ready_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::modelNotReadyException + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # handler.on_return_control_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::returnControl + # end + # handler.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # handler.on_trace_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::trace + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # + # client.invoke_agent( # params input #, event_stream_handler: handler) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end # end - # end # - # # You can also iterate through events after the response complete. - # # Events are available at - # resp.completion # => Enumerator - # # For parameter input example, please refer to following request syntax. + # You can also iterate through events after the response complete. + # + # Events are available at resp.completion # => Enumerator + # For parameter input example, please refer to following request syntax # # @example Request syntax with placeholder values # @@ -1499,18 +1493,18 @@ def get_session(params = {}, options = {}) # # @example Response structure # - # # All events are available at resp.completion: + # All events are available at resp.completion: # resp.completion #=> Enumerator # resp.completion.event_types #=> [:access_denied_exception, :bad_gateway_exception, :chunk, :conflict_exception, :dependency_failed_exception, :files, :internal_server_exception, :model_not_ready_exception, :resource_not_found_exception, :return_control, :service_quota_exceeded_exception, :throttling_exception, :trace, :validation_exception] # - # # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: + # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: + # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: # event.message #=> String # event.resource_name #=> String # - # # For :chunk event available at #on_chunk_event callback and response eventstream enumerator: + # For :chunk event available at #on_chunk_event callback and response eventstream enumerator: # event.attribution.citations #=> Array # event.attribution.citations[0].generated_response_part.text_response_part.span.end #=> Integer # event.attribution.citations[0].generated_response_part.text_response_part.span.start #=> Integer @@ -1535,30 +1529,30 @@ def get_session(params = {}, options = {}) # event.attribution.citations[0].retrieved_references[0].metadata #=> Hash # event.bytes #=> String # - # # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: + # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: + # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: # event.message #=> String # event.resource_name #=> String # - # # For :files event available at #on_files_event callback and response eventstream enumerator: + # For :files event available at #on_files_event callback and response eventstream enumerator: # event.files #=> Array # event.files[0].bytes #=> String # event.files[0].name #=> String # event.files[0].type #=> String # - # # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: + # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: # event.message #=> String # event.reason #=> String # - # # For :model_not_ready_exception event available at #on_model_not_ready_exception_event callback and response eventstream enumerator: + # For :model_not_ready_exception event available at #on_model_not_ready_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: + # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :return_control event available at #on_return_control_event callback and response eventstream enumerator: + # For :return_control event available at #on_return_control_event callback and response eventstream enumerator: # event.invocation_id #=> String # event.invocation_inputs #=> Array # event.invocation_inputs[0].api_invocation_input.action_group #=> String @@ -1586,13 +1580,13 @@ def get_session(params = {}, options = {}) # event.invocation_inputs[0].function_invocation_input.parameters[0].type #=> String # event.invocation_inputs[0].function_invocation_input.parameters[0].value #=> String # - # # For :service_quota_exceeded_exception event available at #on_service_quota_exceeded_exception_event callback and response eventstream enumerator: + # For :service_quota_exceeded_exception event available at #on_service_quota_exceeded_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: + # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :trace event available at #on_trace_event callback and response eventstream enumerator: + # For :trace event available at #on_trace_event callback and response eventstream enumerator: # event.agent_alias_id #=> String # event.agent_id #=> String # event.agent_version #=> String @@ -1958,7 +1952,7 @@ def get_session(params = {}, options = {}) # event.trace.routing_classifier_trace.observation.trace_id #=> String # event.trace.routing_classifier_trace.observation.type #=> String, one of "ACTION_GROUP", "AGENT_COLLABORATOR", "KNOWLEDGE_BASE", "FINISH", "ASK_USER", "REPROMPT" # - # # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: + # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: # event.message #=> String # # resp.content_type #=> String @@ -2041,200 +2035,194 @@ def invoke_agent(params = {}, options = {}, &block) # # @example EventStream Operation Example # - # # You can process the event once it arrives immediately, or wait until the - # # full response is complete and iterate through the eventstream enumerator. - # - # # To interact with event immediately, you need to register invoke_flow - # # with callbacks. Callbacks can be registered for specific events or for all - # # events, including error events. - # - # # Callbacks can be passed into the `:event_stream_handler` option or within a - # # block statement attached to the #invoke_flow call directly. Hybrid - # # pattern of both is also supported. - # - # # `:event_stream_handler` option takes in either a Proc object or - # # Aws::BedrockAgentRuntime::EventStreams::FlowResponseStream object. - # - # # Usage pattern a): Callbacks with a block attached to #invoke_flow - # # Example for registering callbacks for all event types and an error event - # client.invoke_flow( - # # params input - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # You can process the event once it arrives immediately, or wait until the + # full response is complete and iterate through the eventstream enumerator. + # + # To interact with event immediately, you need to register #invoke_flow + # with callbacks. Callbacks can be registered for specific events or for all + # events, including error events. + # + # Callbacks can be passed into the `:event_stream_handler` option or within a + # block statement attached to the #invoke_flow call directly. Hybrid + # pattern of both is also supported. + # + # `:event_stream_handler` option takes in either a Proc object or + # Aws::BedrockAgentRuntime::EventStreams::FlowResponseStream object. + # + # Usage pattern a): Callbacks with a block attached to #invoke_flow + # Example for registering callbacks for all event types and an error event + # + # client.invoke_flow( # params input# ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # ... + # end # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # # ... - # end - # end - # - # # Usage pattern b): Pass in `:event_stream_handler` for #invoke_flow - # # 1) Create a Aws::BedrockAgentRuntime::EventStreams::FlowResponseStream object - # # Example for registering callbacks with specific events - # - # handler = Aws::BedrockAgentRuntime::EventStreams::FlowResponseStream.new - # handler.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # handler.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # handler.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # handler.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # handler.on_flow_completion_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowCompletionEvent - # end - # handler.on_flow_multi_turn_input_request_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowMultiTurnInputRequestEvent - # end - # handler.on_flow_output_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowOutputEvent - # end - # handler.on_flow_trace_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowTraceEvent - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # handler.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end - # - # client.invoke_flow( - # # params inputs - # event_stream_handler: handler - # ) - # - # # 2) Use a Ruby Proc object - # # Example for registering callbacks with specific events - # handler = Proc.new do |stream| - # stream.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # stream.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # stream.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # stream.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # stream.on_flow_completion_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowCompletionEvent - # end - # stream.on_flow_multi_turn_input_request_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowMultiTurnInputRequestEvent - # end - # stream.on_flow_output_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowOutputEvent - # end - # stream.on_flow_trace_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowTraceEvent - # end - # stream.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # stream.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # stream.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # stream.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException # end - # stream.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException + # + # Usage pattern b): Pass in `:event_stream_handler` for #invoke_flow + # + # 1) Create a Aws::BedrockAgentRuntime::EventStreams::FlowResponseStream object + # Example for registering callbacks with specific events + # + # handler = Aws::BedrockAgentRuntime::EventStreams::FlowResponseStream.new + # handler.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # handler.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # handler.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # handler.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # handler.on_flow_completion_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowCompletionEvent + # end + # handler.on_flow_multi_turn_input_request_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowMultiTurnInputRequestEvent + # end + # handler.on_flow_output_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowOutputEvent + # end + # handler.on_flow_trace_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowTraceEvent + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # handler.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # + # client.invoke_flow( # params input #, event_stream_handler: handler) + # + # 2) Use a Ruby Proc object + # Example for registering callbacks with specific events + # + # handler = Proc.new do |stream| + # stream.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # stream.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # stream.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # stream.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # stream.on_flow_completion_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowCompletionEvent + # end + # stream.on_flow_multi_turn_input_request_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowMultiTurnInputRequestEvent + # end + # stream.on_flow_output_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowOutputEvent + # end + # stream.on_flow_trace_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowTraceEvent + # end + # stream.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # stream.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # stream.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # stream.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # stream.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end # end - # end - # - # client.invoke_flow( - # # params inputs - # event_stream_handler: handler - # ) - # - # # Usage pattern c): Hybrid pattern of a) and b) - # handler = Aws::BedrockAgentRuntime::EventStreams::FlowResponseStream.new - # handler.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # handler.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # handler.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # handler.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # handler.on_flow_completion_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowCompletionEvent - # end - # handler.on_flow_multi_turn_input_request_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowMultiTurnInputRequestEvent - # end - # handler.on_flow_output_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowOutputEvent - # end - # handler.on_flow_trace_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::flowTraceEvent - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # handler.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end - # - # client.invoke_flow( - # # params input - # event_stream_handler: handler - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String + # + # client.invoke_flow( # params input #, event_stream_handler: handler) + # + # Usage pattern c): Hybrid pattern of a) and b) + # + # handler = Aws::BedrockAgentRuntime::EventStreams::FlowResponseStream.new + # handler.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # handler.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # handler.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # handler.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # handler.on_flow_completion_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowCompletionEvent + # end + # handler.on_flow_multi_turn_input_request_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowMultiTurnInputRequestEvent + # end + # handler.on_flow_output_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowOutputEvent + # end + # handler.on_flow_trace_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::flowTraceEvent + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # handler.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # + # client.invoke_flow( # params input #, event_stream_handler: handler) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end # end - # end # - # # You can also iterate through events after the response complete. - # # Events are available at - # resp.response_stream # => Enumerator - # # For parameter input example, please refer to following request syntax. + # You can also iterate through events after the response complete. + # + # Events are available at resp.response_stream # => Enumerator + # For parameter input example, please refer to following request syntax # # @example Request syntax with placeholder values # @@ -2264,36 +2252,36 @@ def invoke_agent(params = {}, options = {}, &block) # @example Response structure # # resp.execution_id #=> String - # # All events are available at resp.response_stream: + # All events are available at resp.response_stream: # resp.response_stream #=> Enumerator # resp.response_stream.event_types #=> [:access_denied_exception, :bad_gateway_exception, :conflict_exception, :dependency_failed_exception, :flow_completion_event, :flow_multi_turn_input_request_event, :flow_output_event, :flow_trace_event, :internal_server_exception, :resource_not_found_exception, :service_quota_exceeded_exception, :throttling_exception, :validation_exception] # - # # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: + # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: + # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: # event.message #=> String # event.resource_name #=> String # - # # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: + # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: + # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: # event.message #=> String # event.resource_name #=> String # - # # For :flow_completion_event event available at #on_flow_completion_event_event callback and response eventstream enumerator: + # For :flow_completion_event event available at #on_flow_completion_event_event callback and response eventstream enumerator: # event.completion_reason #=> String, one of "SUCCESS", "INPUT_REQUIRED" # - # # For :flow_multi_turn_input_request_event event available at #on_flow_multi_turn_input_request_event_event callback and response eventstream enumerator: + # For :flow_multi_turn_input_request_event event available at #on_flow_multi_turn_input_request_event_event callback and response eventstream enumerator: # event.node_name #=> String # event.node_type #=> String, one of "FlowInputNode", "FlowOutputNode", "LambdaFunctionNode", "KnowledgeBaseNode", "PromptNode", "ConditionNode", "LexNode" # - # # For :flow_output_event event available at #on_flow_output_event_event callback and response eventstream enumerator: + # For :flow_output_event event available at #on_flow_output_event_event callback and response eventstream enumerator: # event.node_name #=> String # event.node_type #=> String, one of "FlowInputNode", "FlowOutputNode", "LambdaFunctionNode", "KnowledgeBaseNode", "PromptNode", "ConditionNode", "LexNode" # - # # For :flow_trace_event event available at #on_flow_trace_event_event callback and response eventstream enumerator: + # For :flow_trace_event event available at #on_flow_trace_event_event callback and response eventstream enumerator: # event.trace.condition_node_result_trace.node_name #=> String # event.trace.condition_node_result_trace.satisfied_conditions #=> Array # event.trace.condition_node_result_trace.satisfied_conditions[0].condition_name #=> String @@ -2312,20 +2300,20 @@ def invoke_agent(params = {}, options = {}, &block) # event.trace.node_output_trace.node_name #=> String # event.trace.node_output_trace.timestamp #=> Time # - # # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: + # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: # event.message #=> String # event.reason #=> String # - # # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: + # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :service_quota_exceeded_exception event available at #on_service_quota_exceeded_exception_event callback and response eventstream enumerator: + # For :service_quota_exceeded_exception event available at #on_service_quota_exceeded_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: + # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: + # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: # event.message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/InvokeFlow AWS API Documentation @@ -2498,200 +2486,194 @@ def invoke_flow(params = {}, options = {}, &block) # # @example EventStream Operation Example # - # # You can process the event once it arrives immediately, or wait until the - # # full response is complete and iterate through the eventstream enumerator. - # - # # To interact with event immediately, you need to register invoke_inline_agent - # # with callbacks. Callbacks can be registered for specific events or for all - # # events, including error events. - # - # # Callbacks can be passed into the `:event_stream_handler` option or within a - # # block statement attached to the #invoke_inline_agent call directly. Hybrid - # # pattern of both is also supported. - # - # # `:event_stream_handler` option takes in either a Proc object or - # # Aws::BedrockAgentRuntime::EventStreams::InlineAgentResponseStream object. - # - # # Usage pattern a): Callbacks with a block attached to #invoke_inline_agent - # # Example for registering callbacks for all event types and an error event - # client.invoke_inline_agent( - # # params input - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # You can process the event once it arrives immediately, or wait until the + # full response is complete and iterate through the eventstream enumerator. + # + # To interact with event immediately, you need to register #invoke_inline_agent + # with callbacks. Callbacks can be registered for specific events or for all + # events, including error events. + # + # Callbacks can be passed into the `:event_stream_handler` option or within a + # block statement attached to the #invoke_inline_agent call directly. Hybrid + # pattern of both is also supported. + # + # `:event_stream_handler` option takes in either a Proc object or + # Aws::BedrockAgentRuntime::EventStreams::InlineAgentResponseStream object. + # + # Usage pattern a): Callbacks with a block attached to #invoke_inline_agent + # Example for registering callbacks for all event types and an error event + # + # client.invoke_inline_agent( # params input# ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # ... + # end # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # # ... - # end - # end - # - # # Usage pattern b): Pass in `:event_stream_handler` for #invoke_inline_agent - # # 1) Create a Aws::BedrockAgentRuntime::EventStreams::InlineAgentResponseStream object - # # Example for registering callbacks with specific events - # - # handler = Aws::BedrockAgentRuntime::EventStreams::InlineAgentResponseStream.new - # handler.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # handler.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # handler.on_chunk_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::chunk - # end - # handler.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # handler.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # handler.on_files_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::files - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # handler.on_return_control_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::returnControl - # end - # handler.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # handler.on_trace_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::trace - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end - # - # client.invoke_inline_agent( - # # params inputs - # event_stream_handler: handler - # ) - # - # # 2) Use a Ruby Proc object - # # Example for registering callbacks with specific events - # handler = Proc.new do |stream| - # stream.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # stream.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # stream.on_chunk_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::chunk - # end - # stream.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # stream.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # stream.on_files_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::files - # end - # stream.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # stream.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # stream.on_return_control_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::returnControl - # end - # stream.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # stream.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # stream.on_trace_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::trace # end - # stream.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException + # + # Usage pattern b): Pass in `:event_stream_handler` for #invoke_inline_agent + # + # 1) Create a Aws::BedrockAgentRuntime::EventStreams::InlineAgentResponseStream object + # Example for registering callbacks with specific events + # + # handler = Aws::BedrockAgentRuntime::EventStreams::InlineAgentResponseStream.new + # handler.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # handler.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # handler.on_chunk_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::chunk + # end + # handler.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # handler.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # handler.on_files_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::files + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # handler.on_return_control_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::returnControl + # end + # handler.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # handler.on_trace_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::trace + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # + # client.invoke_inline_agent( # params input #, event_stream_handler: handler) + # + # 2) Use a Ruby Proc object + # Example for registering callbacks with specific events + # + # handler = Proc.new do |stream| + # stream.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # stream.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # stream.on_chunk_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::chunk + # end + # stream.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # stream.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # stream.on_files_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::files + # end + # stream.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # stream.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # stream.on_return_control_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::returnControl + # end + # stream.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # stream.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # stream.on_trace_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::trace + # end + # stream.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end # end - # end - # - # client.invoke_inline_agent( - # # params inputs - # event_stream_handler: handler - # ) - # - # # Usage pattern c): Hybrid pattern of a) and b) - # handler = Aws::BedrockAgentRuntime::EventStreams::InlineAgentResponseStream.new - # handler.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # handler.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # handler.on_chunk_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::chunk - # end - # handler.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # handler.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # handler.on_files_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::files - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # handler.on_return_control_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::returnControl - # end - # handler.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # handler.on_trace_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::trace - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end - # - # client.invoke_inline_agent( - # # params input - # event_stream_handler: handler - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String + # + # client.invoke_inline_agent( # params input #, event_stream_handler: handler) + # + # Usage pattern c): Hybrid pattern of a) and b) + # + # handler = Aws::BedrockAgentRuntime::EventStreams::InlineAgentResponseStream.new + # handler.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # handler.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # handler.on_chunk_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::chunk + # end + # handler.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # handler.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # handler.on_files_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::files + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # handler.on_return_control_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::returnControl + # end + # handler.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # handler.on_trace_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::trace + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # + # client.invoke_inline_agent( # params input #, event_stream_handler: handler) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end # end - # end # - # # You can also iterate through events after the response complete. - # # Events are available at - # resp.completion # => Enumerator - # # For parameter input example, please refer to following request syntax. + # You can also iterate through events after the response complete. + # + # Events are available at resp.completion # => Enumerator + # For parameter input example, please refer to following request syntax # # @example Request syntax with placeholder values # @@ -3187,18 +3169,18 @@ def invoke_flow(params = {}, options = {}, &block) # # @example Response structure # - # # All events are available at resp.completion: + # All events are available at resp.completion: # resp.completion #=> Enumerator # resp.completion.event_types #=> [:access_denied_exception, :bad_gateway_exception, :chunk, :conflict_exception, :dependency_failed_exception, :files, :internal_server_exception, :resource_not_found_exception, :return_control, :service_quota_exceeded_exception, :throttling_exception, :trace, :validation_exception] # - # # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: + # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: + # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: # event.message #=> String # event.resource_name #=> String # - # # For :chunk event available at #on_chunk_event callback and response eventstream enumerator: + # For :chunk event available at #on_chunk_event callback and response eventstream enumerator: # event.attribution.citations #=> Array # event.attribution.citations[0].generated_response_part.text_response_part.span.end #=> Integer # event.attribution.citations[0].generated_response_part.text_response_part.span.start #=> Integer @@ -3223,27 +3205,27 @@ def invoke_flow(params = {}, options = {}, &block) # event.attribution.citations[0].retrieved_references[0].metadata #=> Hash # event.bytes #=> String # - # # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: + # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: + # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: # event.message #=> String # event.resource_name #=> String # - # # For :files event available at #on_files_event callback and response eventstream enumerator: + # For :files event available at #on_files_event callback and response eventstream enumerator: # event.files #=> Array # event.files[0].bytes #=> String # event.files[0].name #=> String # event.files[0].type #=> String # - # # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: + # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: # event.message #=> String # event.reason #=> String # - # # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: + # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :return_control event available at #on_return_control_event callback and response eventstream enumerator: + # For :return_control event available at #on_return_control_event callback and response eventstream enumerator: # event.invocation_id #=> String # event.invocation_inputs #=> Array # event.invocation_inputs[0].api_invocation_input.action_group #=> String @@ -3271,13 +3253,13 @@ def invoke_flow(params = {}, options = {}, &block) # event.invocation_inputs[0].function_invocation_input.parameters[0].type #=> String # event.invocation_inputs[0].function_invocation_input.parameters[0].value #=> String # - # # For :service_quota_exceeded_exception event available at #on_service_quota_exceeded_exception_event callback and response eventstream enumerator: + # For :service_quota_exceeded_exception event available at #on_service_quota_exceeded_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: + # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :trace event available at #on_trace_event callback and response eventstream enumerator: + # For :trace event available at #on_trace_event callback and response eventstream enumerator: # event.session_id #=> String # event.trace.custom_orchestration_trace.event.text #=> String # event.trace.custom_orchestration_trace.trace_id #=> String @@ -3636,7 +3618,7 @@ def invoke_flow(params = {}, options = {}, &block) # event.trace.routing_classifier_trace.observation.trace_id #=> String # event.trace.routing_classifier_trace.observation.type #=> String, one of "ACTION_GROUP", "AGENT_COLLABORATOR", "KNOWLEDGE_BASE", "FINISH", "ASK_USER", "REPROMPT" # - # # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: + # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: # event.message #=> String # # resp.content_type #=> String @@ -3894,155 +3876,149 @@ def list_tags_for_resource(params = {}, options = {}) # # @example EventStream Operation Example # - # # You can process the event once it arrives immediately, or wait until the - # # full response is complete and iterate through the eventstream enumerator. - # - # # To interact with event immediately, you need to register optimize_prompt - # # with callbacks. Callbacks can be registered for specific events or for all - # # events, including error events. - # - # # Callbacks can be passed into the `:event_stream_handler` option or within a - # # block statement attached to the #optimize_prompt call directly. Hybrid - # # pattern of both is also supported. - # - # # `:event_stream_handler` option takes in either a Proc object or - # # Aws::BedrockAgentRuntime::EventStreams::OptimizedPromptStream object. - # - # # Usage pattern a): Callbacks with a block attached to #optimize_prompt - # # Example for registering callbacks for all event types and an error event - # client.optimize_prompt( - # # params input - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # You can process the event once it arrives immediately, or wait until the + # full response is complete and iterate through the eventstream enumerator. + # + # To interact with event immediately, you need to register #optimize_prompt + # with callbacks. Callbacks can be registered for specific events or for all + # events, including error events. + # + # Callbacks can be passed into the `:event_stream_handler` option or within a + # block statement attached to the #optimize_prompt call directly. Hybrid + # pattern of both is also supported. + # + # `:event_stream_handler` option takes in either a Proc object or + # Aws::BedrockAgentRuntime::EventStreams::OptimizedPromptStream object. + # + # Usage pattern a): Callbacks with a block attached to #optimize_prompt + # Example for registering callbacks for all event types and an error event + # + # client.optimize_prompt( # params input# ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # ... + # end # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # # ... - # end - # end - # - # # Usage pattern b): Pass in `:event_stream_handler` for #optimize_prompt - # # 1) Create a Aws::BedrockAgentRuntime::EventStreams::OptimizedPromptStream object - # # Example for registering callbacks with specific events - # - # handler = Aws::BedrockAgentRuntime::EventStreams::OptimizedPromptStream.new - # handler.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # handler.on_analyze_prompt_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::analyzePromptEvent - # end - # handler.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # handler.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # handler.on_optimized_prompt_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::optimizedPromptEvent - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end - # - # client.optimize_prompt( - # # params inputs - # event_stream_handler: handler - # ) - # - # # 2) Use a Ruby Proc object - # # Example for registering callbacks with specific events - # handler = Proc.new do |stream| - # stream.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # stream.on_analyze_prompt_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::analyzePromptEvent - # end - # stream.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # stream.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # stream.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # stream.on_optimized_prompt_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::optimizedPromptEvent - # end - # stream.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException # end - # stream.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException + # + # Usage pattern b): Pass in `:event_stream_handler` for #optimize_prompt + # + # 1) Create a Aws::BedrockAgentRuntime::EventStreams::OptimizedPromptStream object + # Example for registering callbacks with specific events + # + # handler = Aws::BedrockAgentRuntime::EventStreams::OptimizedPromptStream.new + # handler.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # handler.on_analyze_prompt_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::analyzePromptEvent + # end + # handler.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # handler.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # handler.on_optimized_prompt_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::optimizedPromptEvent + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # + # client.optimize_prompt( # params input #, event_stream_handler: handler) + # + # 2) Use a Ruby Proc object + # Example for registering callbacks with specific events + # + # handler = Proc.new do |stream| + # stream.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # stream.on_analyze_prompt_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::analyzePromptEvent + # end + # stream.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # stream.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # stream.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # stream.on_optimized_prompt_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::optimizedPromptEvent + # end + # stream.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # stream.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end # end - # end - # - # client.optimize_prompt( - # # params inputs - # event_stream_handler: handler - # ) - # - # # Usage pattern c): Hybrid pattern of a) and b) - # handler = Aws::BedrockAgentRuntime::EventStreams::OptimizedPromptStream.new - # handler.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # handler.on_analyze_prompt_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::analyzePromptEvent - # end - # handler.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # handler.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # handler.on_optimized_prompt_event_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::optimizedPromptEvent - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end - # - # client.optimize_prompt( - # # params input - # event_stream_handler: handler - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String + # + # client.optimize_prompt( # params input #, event_stream_handler: handler) + # + # Usage pattern c): Hybrid pattern of a) and b) + # + # handler = Aws::BedrockAgentRuntime::EventStreams::OptimizedPromptStream.new + # handler.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # handler.on_analyze_prompt_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::analyzePromptEvent + # end + # handler.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # handler.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # handler.on_optimized_prompt_event_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::optimizedPromptEvent + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # + # client.optimize_prompt( # params input #, event_stream_handler: handler) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end # end - # end # - # # You can also iterate through events after the response complete. - # # Events are available at - # resp.optimized_prompt # => Enumerator - # # For parameter input example, please refer to following request syntax. + # You can also iterate through events after the response complete. + # + # Events are available at resp.optimized_prompt # => Enumerator + # For parameter input example, please refer to following request syntax # # @example Request syntax with placeholder values # @@ -4057,35 +4033,35 @@ def list_tags_for_resource(params = {}, options = {}) # # @example Response structure # - # # All events are available at resp.optimized_prompt: + # All events are available at resp.optimized_prompt: # resp.optimized_prompt #=> Enumerator # resp.optimized_prompt.event_types #=> [:access_denied_exception, :analyze_prompt_event, :bad_gateway_exception, :dependency_failed_exception, :internal_server_exception, :optimized_prompt_event, :throttling_exception, :validation_exception] # - # # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: + # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :analyze_prompt_event event available at #on_analyze_prompt_event_event callback and response eventstream enumerator: + # For :analyze_prompt_event event available at #on_analyze_prompt_event_event callback and response eventstream enumerator: # event.message #=> String # - # # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: + # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: # event.message #=> String # event.resource_name #=> String # - # # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: + # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: # event.message #=> String # event.resource_name #=> String # - # # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: + # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: # event.message #=> String # event.reason #=> String # - # # For :optimized_prompt_event event available at #on_optimized_prompt_event_event callback and response eventstream enumerator: + # For :optimized_prompt_event event available at #on_optimized_prompt_event_event callback and response eventstream enumerator: # event.optimized_prompt.text_prompt.text #=> String # - # # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: + # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: + # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: # event.message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/OptimizePrompt AWS API Documentation @@ -4810,191 +4786,185 @@ def retrieve_and_generate(params = {}, options = {}) # # @example EventStream Operation Example # - # # You can process the event once it arrives immediately, or wait until the - # # full response is complete and iterate through the eventstream enumerator. - # - # # To interact with event immediately, you need to register retrieve_and_generate_stream - # # with callbacks. Callbacks can be registered for specific events or for all - # # events, including error events. - # - # # Callbacks can be passed into the `:event_stream_handler` option or within a - # # block statement attached to the #retrieve_and_generate_stream call directly. Hybrid - # # pattern of both is also supported. - # - # # `:event_stream_handler` option takes in either a Proc object or - # # Aws::BedrockAgentRuntime::EventStreams::RetrieveAndGenerateStreamResponseOutput object. - # - # # Usage pattern a): Callbacks with a block attached to #retrieve_and_generate_stream - # # Example for registering callbacks for all event types and an error event - # client.retrieve_and_generate_stream( - # # params input - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # You can process the event once it arrives immediately, or wait until the + # full response is complete and iterate through the eventstream enumerator. + # + # To interact with event immediately, you need to register #retrieve_and_generate_stream + # with callbacks. Callbacks can be registered for specific events or for all + # events, including error events. + # + # Callbacks can be passed into the `:event_stream_handler` option or within a + # block statement attached to the #retrieve_and_generate_stream call directly. Hybrid + # pattern of both is also supported. + # + # `:event_stream_handler` option takes in either a Proc object or + # Aws::BedrockAgentRuntime::EventStreams::RetrieveAndGenerateStreamResponseOutput object. + # + # Usage pattern a): Callbacks with a block attached to #retrieve_and_generate_stream + # Example for registering callbacks for all event types and an error event + # + # client.retrieve_and_generate_stream( # params input# ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # ... + # end # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # # ... - # end - # end - # - # # Usage pattern b): Pass in `:event_stream_handler` for #retrieve_and_generate_stream - # # 1) Create a Aws::BedrockAgentRuntime::EventStreams::RetrieveAndGenerateStreamResponseOutput object - # # Example for registering callbacks with specific events - # - # handler = Aws::BedrockAgentRuntime::EventStreams::RetrieveAndGenerateStreamResponseOutput.new - # handler.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # handler.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # handler.on_citation_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::citation - # end - # handler.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # handler.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # handler.on_guardrail_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::guardrail - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # handler.on_output_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::output - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # handler.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end - # - # client.retrieve_and_generate_stream( - # # params inputs - # event_stream_handler: handler - # ) - # - # # 2) Use a Ruby Proc object - # # Example for registering callbacks with specific events - # handler = Proc.new do |stream| - # stream.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # stream.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # stream.on_citation_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::citation - # end - # stream.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # stream.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # stream.on_guardrail_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::guardrail - # end - # stream.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # stream.on_output_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::output - # end - # stream.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # stream.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # stream.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException # end - # stream.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException + # + # Usage pattern b): Pass in `:event_stream_handler` for #retrieve_and_generate_stream + # + # 1) Create a Aws::BedrockAgentRuntime::EventStreams::RetrieveAndGenerateStreamResponseOutput object + # Example for registering callbacks with specific events + # + # handler = Aws::BedrockAgentRuntime::EventStreams::RetrieveAndGenerateStreamResponseOutput.new + # handler.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # handler.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # handler.on_citation_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::citation + # end + # handler.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # handler.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # handler.on_guardrail_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::guardrail + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # handler.on_output_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::output + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # handler.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # + # client.retrieve_and_generate_stream( # params input #, event_stream_handler: handler) + # + # 2) Use a Ruby Proc object + # Example for registering callbacks with specific events + # + # handler = Proc.new do |stream| + # stream.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # stream.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # stream.on_citation_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::citation + # end + # stream.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # stream.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # stream.on_guardrail_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::guardrail + # end + # stream.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # stream.on_output_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::output + # end + # stream.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # stream.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # stream.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # stream.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end # end - # end - # - # client.retrieve_and_generate_stream( - # # params inputs - # event_stream_handler: handler - # ) - # - # # Usage pattern c): Hybrid pattern of a) and b) - # handler = Aws::BedrockAgentRuntime::EventStreams::RetrieveAndGenerateStreamResponseOutput.new - # handler.on_access_denied_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException - # end - # handler.on_bad_gateway_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::badGatewayException - # end - # handler.on_citation_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::citation - # end - # handler.on_conflict_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::conflictException - # end - # handler.on_dependency_failed_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException - # end - # handler.on_guardrail_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::guardrail - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::internalServerException - # end - # handler.on_output_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::output - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException - # end - # handler.on_service_quota_exceeded_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::throttlingException - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockAgentRuntime::Types::validationException - # end - # - # client.retrieve_and_generate_stream( - # # params input - # event_stream_handler: handler - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String + # + # client.retrieve_and_generate_stream( # params input #, event_stream_handler: handler) + # + # Usage pattern c): Hybrid pattern of a) and b) + # + # handler = Aws::BedrockAgentRuntime::EventStreams::RetrieveAndGenerateStreamResponseOutput.new + # handler.on_access_denied_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::accessDeniedException + # end + # handler.on_bad_gateway_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::badGatewayException + # end + # handler.on_citation_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::citation + # end + # handler.on_conflict_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::conflictException + # end + # handler.on_dependency_failed_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::dependencyFailedException + # end + # handler.on_guardrail_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::guardrail + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::internalServerException + # end + # handler.on_output_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::output + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::resourceNotFoundException + # end + # handler.on_service_quota_exceeded_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::serviceQuotaExceededException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::throttlingException + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockAgentRuntime::Types::validationException + # end + # + # client.retrieve_and_generate_stream( # params input #, event_stream_handler: handler) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end # end - # end # - # # You can also iterate through events after the response complete. - # # Events are available at - # resp.stream # => Enumerator - # # For parameter input example, please refer to following request syntax. + # You can also iterate through events after the response complete. + # + # Events are available at resp.stream # => Enumerator + # For parameter input example, please refer to following request syntax # # @example Request syntax with placeholder values # @@ -5216,18 +5186,18 @@ def retrieve_and_generate(params = {}, options = {}) # @example Response structure # # resp.session_id #=> String - # # All events are available at resp.stream: + # All events are available at resp.stream: # resp.stream #=> Enumerator # resp.stream.event_types #=> [:access_denied_exception, :bad_gateway_exception, :citation, :conflict_exception, :dependency_failed_exception, :guardrail, :internal_server_exception, :output, :resource_not_found_exception, :service_quota_exceeded_exception, :throttling_exception, :validation_exception] # - # # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: + # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: + # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: # event.message #=> String # event.resource_name #=> String # - # # For :citation event available at #on_citation_event callback and response eventstream enumerator: + # For :citation event available at #on_citation_event callback and response eventstream enumerator: # event.citation.generated_response_part.text_response_part.span.end #=> Integer # event.citation.generated_response_part.text_response_part.span.start #=> Integer # event.citation.generated_response_part.text_response_part.text #=> String @@ -5271,33 +5241,33 @@ def retrieve_and_generate(params = {}, options = {}) # event.retrieved_references[0].location.web_location.url #=> String # event.retrieved_references[0].metadata #=> Hash # - # # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: + # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: + # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: # event.message #=> String # event.resource_name #=> String # - # # For :guardrail event available at #on_guardrail_event callback and response eventstream enumerator: + # For :guardrail event available at #on_guardrail_event callback and response eventstream enumerator: # event.action #=> String, one of "INTERVENED", "NONE" # - # # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: + # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: # event.message #=> String # event.reason #=> String # - # # For :output event available at #on_output_event callback and response eventstream enumerator: + # For :output event available at #on_output_event callback and response eventstream enumerator: # event.text #=> String # - # # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: + # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :service_quota_exceeded_exception event available at #on_service_quota_exceeded_exception_event callback and response eventstream enumerator: + # For :service_quota_exceeded_exception event available at #on_service_quota_exceeded_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: + # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: + # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: # event.message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agent-runtime-2023-07-26/RetrieveAndGenerateStream AWS API Documentation diff --git a/gems/aws-sdk-bedrockruntime/sig/async_client.rbs b/gems/aws-sdk-bedrockruntime/sig/async_client.rbs index 20c4a219cd4..69b4d4e1e11 100644 --- a/gems/aws-sdk-bedrockruntime/sig/async_client.rbs +++ b/gems/aws-sdk-bedrockruntime/sig/async_client.rbs @@ -44,7 +44,7 @@ module Aws ?secret_access_key: String, ?session_token: String, ?sigv4a_signing_region_set: Array[String], - ?stub_responses: untyped, + ?stub_responses: bool, ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, ?token_provider: untyped, ?use_dualstack_endpoint: bool, diff --git a/gems/aws-sdk-bedrockruntime/sig/client.rbs b/gems/aws-sdk-bedrockruntime/sig/client.rbs index 6cbb67b9f7f..e45a81939a0 100644 --- a/gems/aws-sdk-bedrockruntime/sig/client.rbs +++ b/gems/aws-sdk-bedrockruntime/sig/client.rbs @@ -55,7 +55,7 @@ module Aws ?secret_access_key: String, ?session_token: String, ?sigv4a_signing_region_set: Array[String], - ?stub_responses: untyped, + ?stub_responses: bool, ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, ?token_provider: untyped, ?use_dualstack_endpoint: bool, diff --git a/gems/aws-sdk-bedrockruntime/sig/resource.rbs b/gems/aws-sdk-bedrockruntime/sig/resource.rbs index 4fced24dfdc..7df6bf367aa 100644 --- a/gems/aws-sdk-bedrockruntime/sig/resource.rbs +++ b/gems/aws-sdk-bedrockruntime/sig/resource.rbs @@ -55,7 +55,7 @@ module Aws ?secret_access_key: String, ?session_token: String, ?sigv4a_signing_region_set: Array[String], - ?stub_responses: untyped, + ?stub_responses: bool, ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, ?token_provider: untyped, ?use_dualstack_endpoint: bool, diff --git a/gems/aws-sdk-cloudwatchlogs/lib/aws-sdk-cloudwatchlogs/client.rb b/gems/aws-sdk-cloudwatchlogs/lib/aws-sdk-cloudwatchlogs/client.rb index 5b1a549ec78..94cda116440 100644 --- a/gems/aws-sdk-cloudwatchlogs/lib/aws-sdk-cloudwatchlogs/client.rb +++ b/gems/aws-sdk-cloudwatchlogs/lib/aws-sdk-cloudwatchlogs/client.rb @@ -6098,119 +6098,113 @@ def put_transformer(params = {}, options = {}) # # @example EventStream Operation Example # - # # You can process the event once it arrives immediately, or wait until the - # # full response is complete and iterate through the eventstream enumerator. - # - # # To interact with event immediately, you need to register start_live_tail - # # with callbacks. Callbacks can be registered for specific events or for all - # # events, including error events. - # - # # Callbacks can be passed into the `:event_stream_handler` option or within a - # # block statement attached to the #start_live_tail call directly. Hybrid - # # pattern of both is also supported. - # - # # `:event_stream_handler` option takes in either a Proc object or - # # Aws::CloudWatchLogs::EventStreams::StartLiveTailResponseStream object. - # - # # Usage pattern a): Callbacks with a block attached to #start_live_tail - # # Example for registering callbacks for all event types and an error event - # client.start_live_tail( - # # params input - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # You can process the event once it arrives immediately, or wait until the + # full response is complete and iterate through the eventstream enumerator. + # + # To interact with event immediately, you need to register #start_live_tail + # with callbacks. Callbacks can be registered for specific events or for all + # events, including error events. + # + # Callbacks can be passed into the `:event_stream_handler` option or within a + # block statement attached to the #start_live_tail call directly. Hybrid + # pattern of both is also supported. + # + # `:event_stream_handler` option takes in either a Proc object or + # Aws::CloudWatchLogs::EventStreams::StartLiveTailResponseStream object. + # + # Usage pattern a): Callbacks with a block attached to #start_live_tail + # Example for registering callbacks for all event types and an error event + # + # client.start_live_tail( # params input# ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # ... + # end # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # # ... - # end - # end - # - # # Usage pattern b): Pass in `:event_stream_handler` for #start_live_tail - # # 1) Create a Aws::CloudWatchLogs::EventStreams::StartLiveTailResponseStream object - # # Example for registering callbacks with specific events - # - # handler = Aws::CloudWatchLogs::EventStreams::StartLiveTailResponseStream.new - # handler.on_session_start_event do |event| - # event # => Aws::CloudWatchLogs::Types::sessionStart - # end - # handler.on_session_update_event do |event| - # event # => Aws::CloudWatchLogs::Types::sessionUpdate - # end - # handler.on_session_timeout_exception_event do |event| - # event # => Aws::CloudWatchLogs::Types::SessionTimeoutException - # end - # handler.on_session_streaming_exception_event do |event| - # event # => Aws::CloudWatchLogs::Types::SessionStreamingException - # end - # - # client.start_live_tail( - # # params inputs - # event_stream_handler: handler - # ) - # - # # 2) Use a Ruby Proc object - # # Example for registering callbacks with specific events - # handler = Proc.new do |stream| - # stream.on_session_start_event do |event| - # event # => Aws::CloudWatchLogs::Types::sessionStart - # end - # stream.on_session_update_event do |event| - # event # => Aws::CloudWatchLogs::Types::sessionUpdate - # end - # stream.on_session_timeout_exception_event do |event| - # event # => Aws::CloudWatchLogs::Types::SessionTimeoutException # end - # stream.on_session_streaming_exception_event do |event| - # event # => Aws::CloudWatchLogs::Types::SessionStreamingException + # + # Usage pattern b): Pass in `:event_stream_handler` for #start_live_tail + # + # 1) Create a Aws::CloudWatchLogs::EventStreams::StartLiveTailResponseStream object + # Example for registering callbacks with specific events + # + # handler = Aws::CloudWatchLogs::EventStreams::StartLiveTailResponseStream.new + # handler.on_session_start_event do |event| + # event # => Aws::CloudWatchLogs::Types::sessionStart + # end + # handler.on_session_update_event do |event| + # event # => Aws::CloudWatchLogs::Types::sessionUpdate + # end + # handler.on_session_timeout_exception_event do |event| + # event # => Aws::CloudWatchLogs::Types::SessionTimeoutException + # end + # handler.on_session_streaming_exception_event do |event| + # event # => Aws::CloudWatchLogs::Types::SessionStreamingException + # end + # + # client.start_live_tail( # params input #, event_stream_handler: handler) + # + # 2) Use a Ruby Proc object + # Example for registering callbacks with specific events + # + # handler = Proc.new do |stream| + # stream.on_session_start_event do |event| + # event # => Aws::CloudWatchLogs::Types::sessionStart + # end + # stream.on_session_update_event do |event| + # event # => Aws::CloudWatchLogs::Types::sessionUpdate + # end + # stream.on_session_timeout_exception_event do |event| + # event # => Aws::CloudWatchLogs::Types::SessionTimeoutException + # end + # stream.on_session_streaming_exception_event do |event| + # event # => Aws::CloudWatchLogs::Types::SessionStreamingException + # end # end - # end - # - # client.start_live_tail( - # # params inputs - # event_stream_handler: handler - # ) - # - # # Usage pattern c): Hybrid pattern of a) and b) - # handler = Aws::CloudWatchLogs::EventStreams::StartLiveTailResponseStream.new - # handler.on_session_start_event do |event| - # event # => Aws::CloudWatchLogs::Types::sessionStart - # end - # handler.on_session_update_event do |event| - # event # => Aws::CloudWatchLogs::Types::sessionUpdate - # end - # handler.on_session_timeout_exception_event do |event| - # event # => Aws::CloudWatchLogs::Types::SessionTimeoutException - # end - # handler.on_session_streaming_exception_event do |event| - # event # => Aws::CloudWatchLogs::Types::SessionStreamingException - # end - # - # client.start_live_tail( - # # params input - # event_stream_handler: handler - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String + # + # client.start_live_tail( # params input #, event_stream_handler: handler) + # + # Usage pattern c): Hybrid pattern of a) and b) + # + # handler = Aws::CloudWatchLogs::EventStreams::StartLiveTailResponseStream.new + # handler.on_session_start_event do |event| + # event # => Aws::CloudWatchLogs::Types::sessionStart + # end + # handler.on_session_update_event do |event| + # event # => Aws::CloudWatchLogs::Types::sessionUpdate + # end + # handler.on_session_timeout_exception_event do |event| + # event # => Aws::CloudWatchLogs::Types::SessionTimeoutException + # end + # handler.on_session_streaming_exception_event do |event| + # event # => Aws::CloudWatchLogs::Types::SessionStreamingException + # end + # + # client.start_live_tail( # params input #, event_stream_handler: handler) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end # end - # end # - # # You can also iterate through events after the response complete. - # # Events are available at - # resp.response_stream # => Enumerator - # # For parameter input example, please refer to following request syntax. + # You can also iterate through events after the response complete. + # + # Events are available at resp.response_stream # => Enumerator + # For parameter input example, please refer to following request syntax # # @example Request syntax with placeholder values # @@ -6223,11 +6217,11 @@ def put_transformer(params = {}, options = {}) # # @example Response structure # - # # All events are available at resp.response_stream: + # All events are available at resp.response_stream: # resp.response_stream #=> Enumerator # resp.response_stream.event_types #=> [:session_start, :session_update, :session_timeout_exception, :session_streaming_exception] # - # # For :session_start event available at #on_session_start_event callback and response eventstream enumerator: + # For :session_start event available at #on_session_start_event callback and response eventstream enumerator: # event.request_id #=> String # event.session_id #=> String # event.log_group_identifiers #=> Array @@ -6238,7 +6232,7 @@ def put_transformer(params = {}, options = {}) # event.log_stream_name_prefixes[0] #=> String # event.log_event_filter_pattern #=> String # - # # For :session_update event available at #on_session_update_event callback and response eventstream enumerator: + # For :session_update event available at #on_session_update_event callback and response eventstream enumerator: # event.session_metadata.sampled #=> Boolean # event.session_results #=> Array # event.session_results[0].log_stream_name #=> String @@ -6247,10 +6241,10 @@ def put_transformer(params = {}, options = {}) # event.session_results[0].timestamp #=> Integer # event.session_results[0].ingestion_time #=> Integer # - # # For :session_timeout_exception event available at #on_session_timeout_exception_event callback and response eventstream enumerator: + # For :session_timeout_exception event available at #on_session_timeout_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :session_streaming_exception event available at #on_session_streaming_exception_event callback and response eventstream enumerator: + # For :session_streaming_exception event available at #on_session_streaming_exception_event callback and response eventstream enumerator: # event.message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/StartLiveTail AWS API Documentation diff --git a/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/client.rb b/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/client.rb index e6b8716089d..b9784f57b4b 100644 --- a/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/client.rb +++ b/gems/aws-sdk-iotsitewise/lib/aws-sdk-iotsitewise/client.rb @@ -4675,164 +4675,158 @@ def get_interpolated_asset_property_values(params = {}, options = {}) # # @example EventStream Operation Example # - # # You can process the event once it arrives immediately, or wait until the - # # full response is complete and iterate through the eventstream enumerator. - # - # # To interact with event immediately, you need to register invoke_assistant - # # with callbacks. Callbacks can be registered for specific events or for all - # # events, including error events. - # - # # Callbacks can be passed into the `:event_stream_handler` option or within a - # # block statement attached to the #invoke_assistant call directly. Hybrid - # # pattern of both is also supported. - # - # # `:event_stream_handler` option takes in either a Proc object or - # # Aws::IoTSiteWise::EventStreams::ResponseStream object. - # - # # Usage pattern a): Callbacks with a block attached to #invoke_assistant - # # Example for registering callbacks for all event types and an error event - # client.invoke_assistant( - # # params input - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # You can process the event once it arrives immediately, or wait until the + # full response is complete and iterate through the eventstream enumerator. + # + # To interact with event immediately, you need to register #invoke_assistant + # with callbacks. Callbacks can be registered for specific events or for all + # events, including error events. + # + # Callbacks can be passed into the `:event_stream_handler` option or within a + # block statement attached to the #invoke_assistant call directly. Hybrid + # pattern of both is also supported. + # + # `:event_stream_handler` option takes in either a Proc object or + # Aws::IoTSiteWise::EventStreams::ResponseStream object. + # + # Usage pattern a): Callbacks with a block attached to #invoke_assistant + # Example for registering callbacks for all event types and an error event + # + # client.invoke_assistant( # params input# ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # ... + # end # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # # ... - # end - # end - # - # # Usage pattern b): Pass in `:event_stream_handler` for #invoke_assistant - # # 1) Create a Aws::IoTSiteWise::EventStreams::ResponseStream object - # # Example for registering callbacks with specific events - # - # handler = Aws::IoTSiteWise::EventStreams::ResponseStream.new - # handler.on_trace_event do |event| - # event # => Aws::IoTSiteWise::Types::trace - # end - # handler.on_output_event do |event| - # event # => Aws::IoTSiteWise::Types::output - # end - # handler.on_access_denied_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::accessDeniedException - # end - # handler.on_conflicting_operation_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::conflictingOperationException - # end - # handler.on_internal_failure_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::internalFailureException - # end - # handler.on_invalid_request_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::invalidRequestException - # end - # handler.on_limit_exceeded_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::limitExceededException - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::resourceNotFoundException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::throttlingException - # end - # - # client.invoke_assistant( - # # params inputs - # event_stream_handler: handler - # ) - # - # # 2) Use a Ruby Proc object - # # Example for registering callbacks with specific events - # handler = Proc.new do |stream| - # stream.on_trace_event do |event| - # event # => Aws::IoTSiteWise::Types::trace - # end - # stream.on_output_event do |event| - # event # => Aws::IoTSiteWise::Types::output - # end - # stream.on_access_denied_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::accessDeniedException - # end - # stream.on_conflicting_operation_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::conflictingOperationException - # end - # stream.on_internal_failure_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::internalFailureException - # end - # stream.on_invalid_request_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::invalidRequestException - # end - # stream.on_limit_exceeded_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::limitExceededException - # end - # stream.on_resource_not_found_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::resourceNotFoundException # end - # stream.on_throttling_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::throttlingException + # + # Usage pattern b): Pass in `:event_stream_handler` for #invoke_assistant + # + # 1) Create a Aws::IoTSiteWise::EventStreams::ResponseStream object + # Example for registering callbacks with specific events + # + # handler = Aws::IoTSiteWise::EventStreams::ResponseStream.new + # handler.on_trace_event do |event| + # event # => Aws::IoTSiteWise::Types::trace + # end + # handler.on_output_event do |event| + # event # => Aws::IoTSiteWise::Types::output + # end + # handler.on_access_denied_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::accessDeniedException + # end + # handler.on_conflicting_operation_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::conflictingOperationException + # end + # handler.on_internal_failure_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::internalFailureException + # end + # handler.on_invalid_request_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::invalidRequestException + # end + # handler.on_limit_exceeded_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::limitExceededException + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::resourceNotFoundException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::throttlingException + # end + # + # client.invoke_assistant( # params input #, event_stream_handler: handler) + # + # 2) Use a Ruby Proc object + # Example for registering callbacks with specific events + # + # handler = Proc.new do |stream| + # stream.on_trace_event do |event| + # event # => Aws::IoTSiteWise::Types::trace + # end + # stream.on_output_event do |event| + # event # => Aws::IoTSiteWise::Types::output + # end + # stream.on_access_denied_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::accessDeniedException + # end + # stream.on_conflicting_operation_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::conflictingOperationException + # end + # stream.on_internal_failure_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::internalFailureException + # end + # stream.on_invalid_request_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::invalidRequestException + # end + # stream.on_limit_exceeded_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::limitExceededException + # end + # stream.on_resource_not_found_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::resourceNotFoundException + # end + # stream.on_throttling_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::throttlingException + # end # end - # end - # - # client.invoke_assistant( - # # params inputs - # event_stream_handler: handler - # ) - # - # # Usage pattern c): Hybrid pattern of a) and b) - # handler = Aws::IoTSiteWise::EventStreams::ResponseStream.new - # handler.on_trace_event do |event| - # event # => Aws::IoTSiteWise::Types::trace - # end - # handler.on_output_event do |event| - # event # => Aws::IoTSiteWise::Types::output - # end - # handler.on_access_denied_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::accessDeniedException - # end - # handler.on_conflicting_operation_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::conflictingOperationException - # end - # handler.on_internal_failure_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::internalFailureException - # end - # handler.on_invalid_request_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::invalidRequestException - # end - # handler.on_limit_exceeded_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::limitExceededException - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::resourceNotFoundException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::IoTSiteWise::Types::throttlingException - # end - # - # client.invoke_assistant( - # # params input - # event_stream_handler: handler - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String + # + # client.invoke_assistant( # params input #, event_stream_handler: handler) + # + # Usage pattern c): Hybrid pattern of a) and b) + # + # handler = Aws::IoTSiteWise::EventStreams::ResponseStream.new + # handler.on_trace_event do |event| + # event # => Aws::IoTSiteWise::Types::trace + # end + # handler.on_output_event do |event| + # event # => Aws::IoTSiteWise::Types::output + # end + # handler.on_access_denied_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::accessDeniedException + # end + # handler.on_conflicting_operation_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::conflictingOperationException + # end + # handler.on_internal_failure_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::internalFailureException + # end + # handler.on_invalid_request_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::invalidRequestException + # end + # handler.on_limit_exceeded_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::limitExceededException + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::resourceNotFoundException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::IoTSiteWise::Types::throttlingException + # end + # + # client.invoke_assistant( # params input #, event_stream_handler: handler) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end # end - # end # - # # You can also iterate through events after the response complete. - # # Events are available at - # resp.body # => Enumerator - # # For parameter input example, please refer to following request syntax. + # You can also iterate through events after the response complete. + # + # Events are available at resp.body # => Enumerator + # For parameter input example, please refer to following request syntax # # @example Request syntax with placeholder values # @@ -4844,14 +4838,14 @@ def get_interpolated_asset_property_values(params = {}, options = {}) # # @example Response structure # - # # All events are available at resp.body: + # All events are available at resp.body: # resp.body #=> Enumerator # resp.body.event_types #=> [:trace, :output, :access_denied_exception, :conflicting_operation_exception, :internal_failure_exception, :invalid_request_exception, :limit_exceeded_exception, :resource_not_found_exception, :throttling_exception] # - # # For :trace event available at #on_trace_event callback and response eventstream enumerator: + # For :trace event available at #on_trace_event callback and response eventstream enumerator: # event.text #=> String # - # # For :output event available at #on_output_event callback and response eventstream enumerator: + # For :output event available at #on_output_event callback and response eventstream enumerator: # event.message #=> String # event.citations #=> Array # event.citations[0].reference.dataset.dataset_arn #=> String @@ -4859,27 +4853,27 @@ def get_interpolated_asset_property_values(params = {}, options = {}) # event.citations[0].reference.dataset.source.location.uri #=> String # event.citations[0].content.text #=> String # - # # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: + # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :conflicting_operation_exception event available at #on_conflicting_operation_exception_event callback and response eventstream enumerator: + # For :conflicting_operation_exception event available at #on_conflicting_operation_exception_event callback and response eventstream enumerator: # event.message #=> String # event.resource_id #=> String # event.resource_arn #=> String # - # # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: + # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :invalid_request_exception event available at #on_invalid_request_exception_event callback and response eventstream enumerator: + # For :invalid_request_exception event available at #on_invalid_request_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :limit_exceeded_exception event available at #on_limit_exceeded_exception_event callback and response eventstream enumerator: + # For :limit_exceeded_exception event available at #on_limit_exceeded_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: + # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: + # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: # event.message #=> String # # resp.conversation_id #=> String diff --git a/gems/aws-sdk-kinesis/lib/aws-sdk-kinesis/async_client.rb b/gems/aws-sdk-kinesis/lib/aws-sdk-kinesis/async_client.rb index 54e591e71c2..fda1a642043 100644 --- a/gems/aws-sdk-kinesis/lib/aws-sdk-kinesis/async_client.rb +++ b/gems/aws-sdk-kinesis/lib/aws-sdk-kinesis/async_client.rb @@ -10,44 +10,32 @@ begin require 'http/2' rescue LoadError; end -require 'aws-sdk-core/plugins/credentials_configuration' -require 'aws-sdk-core/plugins/logging' -require 'aws-sdk-core/plugins/param_converter' -require 'aws-sdk-core/plugins/param_validator' -require 'aws-sdk-core/plugins/user_agent' -require 'aws-sdk-core/plugins/helpful_socket_errors' -require 'aws-sdk-core/plugins/retry_errors' -require 'aws-sdk-core/plugins/global_configuration' -require 'aws-sdk-core/plugins/regional_endpoint' -require 'aws-sdk-core/plugins/stub_responses' -require 'aws-sdk-core/plugins/idempotency_token' -require 'aws-sdk-core/plugins/invocation_id' -require 'aws-sdk-core/plugins/jsonvalue_converter' -require 'aws-sdk-core/plugins/http_checksum' -require 'aws-sdk-core/plugins/checksum_algorithm' -require 'aws-sdk-core/plugins/request_compression' -require 'aws-sdk-core/plugins/defaults_mode' -require 'aws-sdk-core/plugins/recursion_detection' -require 'aws-sdk-core/plugins/telemetry' -require 'aws-sdk-core/plugins/sign' -require 'aws-sdk-core/plugins/protocols/json_rpc' -require 'aws-sdk-core/plugins/event_stream_configuration' +require 'aws-sdk-core/plugins/credentials_configuration.rb' +require 'aws-sdk-core/plugins/logging.rb' +require 'aws-sdk-core/plugins/param_converter.rb' +require 'aws-sdk-core/plugins/param_validator.rb' +require 'aws-sdk-core/plugins/user_agent.rb' +require 'aws-sdk-core/plugins/helpful_socket_errors.rb' +require 'aws-sdk-core/plugins/retry_errors.rb' +require 'aws-sdk-core/plugins/global_configuration.rb' +require 'aws-sdk-core/plugins/regional_endpoint.rb' +require 'aws-sdk-core/plugins/stub_responses.rb' +require 'aws-sdk-core/plugins/idempotency_token.rb' +require 'aws-sdk-core/plugins/invocation_id.rb' +require 'aws-sdk-core/plugins/jsonvalue_converter.rb' +require 'aws-sdk-core/plugins/http_checksum.rb' +require 'aws-sdk-core/plugins/checksum_algorithm.rb' +require 'aws-sdk-core/plugins/request_compression.rb' +require 'aws-sdk-core/plugins/defaults_mode.rb' +require 'aws-sdk-core/plugins/recursion_detection.rb' +require 'aws-sdk-core/plugins/telemetry.rb' +require 'aws-sdk-core/plugins/sign.rb' +require 'aws-sdk-core/plugins/protocols/json_rpc.rb' +require 'aws-sdk-core/plugins/event_stream_configuration.rb' Aws::Plugins::GlobalConfiguration.add_identifier(:kinesis) module Aws::Kinesis - # An API async client for Kinesis. To construct an async client, you need to configure a `:region` and `:credentials`. - # - # async_client = Aws::Kinesis::AsyncClient.new( - # region: region_name, - # credentials: credentials, - # # ... - # ) - # - # For details on configuring region and credentials see - # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html). - # - # See {#initialize} for a full list of supported configuration options. class AsyncClient < Seahorse::Client::AsyncBase include Aws::AsyncClientStubs @@ -80,13 +68,6 @@ class AsyncClient < Seahorse::Client::AsyncBase add_plugin(Aws::Plugins::EventStreamConfiguration) add_plugin(Aws::Kinesis::Plugins::Endpoints) - # @overload initialize(options) - # @param [Hash] options - # - # @option options [Array] :plugins ([]]) - # A list of plugins to apply to the client. Each plugin is either a - # class name or an instance of a plugin class. - # # @option options [required, Aws::CredentialProvider] :credentials # Your AWS credentials. This can be an instance of any one of the # following classes: @@ -464,173 +445,167 @@ def initialize(*args) # # @example EventStream Operation Example # - # # You can process the event once it arrives immediately, or wait until the - # # full response is complete and iterate through the eventstream enumerator. - # - # # To interact with event immediately, you need to register subscribe_to_shard - # # with callbacks. Callbacks can be registered for specific events or for all - # # events, including error events. - # - # # Callbacks can be passed into the `:event_stream_handler` option or within a - # # block statement attached to the #subscribe_to_shard call directly. Hybrid - # # pattern of both is also supported. - # - # # `:event_stream_handler` option takes in either a Proc object or - # # Aws::Kinesis::EventStreams::SubscribeToShardEventStream object. - # - # # Usage pattern a): Callbacks with a block attached to #subscribe_to_shard - # # Example for registering callbacks for all event types and an error event - # client.subscribe_to_shard( - # # params input - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # You can process the event once it arrives immediately, or wait until the + # full response is complete and iterate through the eventstream enumerator. + # + # To interact with event immediately, you need to register #subscribe_to_shard + # with callbacks. Callbacks can be registered for specific events or for all + # events, including error events. + # + # Callbacks can be passed into the `:event_stream_handler` option or within a + # block statement attached to the #subscribe_to_shard call directly. Hybrid + # pattern of both is also supported. + # + # `:event_stream_handler` option takes in either a Proc object or + # Aws::Kinesis::EventStreams::SubscribeToShardEventStream object. + # + # Usage pattern a): Callbacks with a block attached to #subscribe_to_shard + # Example for registering callbacks for all event types and an error event + # + # client.subscribe_to_shard( # params input# ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # ... + # end # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # # ... - # end - # end - # - # # Usage pattern b): Pass in `:event_stream_handler` for #subscribe_to_shard - # # 1) Create a Aws::Kinesis::EventStreams::SubscribeToShardEventStream object - # # Example for registering callbacks with specific events - # - # handler = Aws::Kinesis::EventStreams::SubscribeToShardEventStream.new - # handler.on_subscribe_to_shard_event_event do |event| - # event # => Aws::Kinesis::Types::SubscribeToShardEvent - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::Kinesis::Types::ResourceNotFoundException - # end - # handler.on_resource_in_use_exception_event do |event| - # event # => Aws::Kinesis::Types::ResourceInUseException - # end - # handler.on_kms_disabled_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSDisabledException - # end - # handler.on_kms_invalid_state_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSInvalidStateException - # end - # handler.on_kms_access_denied_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSAccessDeniedException - # end - # handler.on_kms_not_found_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSNotFoundException - # end - # handler.on_kms_opt_in_required_event do |event| - # event # => Aws::Kinesis::Types::KMSOptInRequired - # end - # handler.on_kms_throttling_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSThrottlingException - # end - # handler.on_internal_failure_exception_event do |event| - # event # => Aws::Kinesis::Types::InternalFailureException - # end - # - # client.subscribe_to_shard( - # # params inputs - # event_stream_handler: handler - # ) - # - # # 2) Use a Ruby Proc object - # # Example for registering callbacks with specific events - # handler = Proc.new do |stream| - # stream.on_subscribe_to_shard_event_event do |event| - # event # => Aws::Kinesis::Types::SubscribeToShardEvent - # end - # stream.on_resource_not_found_exception_event do |event| - # event # => Aws::Kinesis::Types::ResourceNotFoundException - # end - # stream.on_resource_in_use_exception_event do |event| - # event # => Aws::Kinesis::Types::ResourceInUseException - # end - # stream.on_kms_disabled_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSDisabledException - # end - # stream.on_kms_invalid_state_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSInvalidStateException - # end - # stream.on_kms_access_denied_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSAccessDeniedException - # end - # stream.on_kms_not_found_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSNotFoundException - # end - # stream.on_kms_opt_in_required_event do |event| - # event # => Aws::Kinesis::Types::KMSOptInRequired - # end - # stream.on_kms_throttling_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSThrottlingException # end - # stream.on_internal_failure_exception_event do |event| - # event # => Aws::Kinesis::Types::InternalFailureException + # + # Usage pattern b): Pass in `:event_stream_handler` for #subscribe_to_shard + # + # 1) Create a Aws::Kinesis::EventStreams::SubscribeToShardEventStream object + # Example for registering callbacks with specific events + # + # handler = Aws::Kinesis::EventStreams::SubscribeToShardEventStream.new + # handler.on_subscribe_to_shard_event_event do |event| + # event # => Aws::Kinesis::Types::SubscribeToShardEvent + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::Kinesis::Types::ResourceNotFoundException + # end + # handler.on_resource_in_use_exception_event do |event| + # event # => Aws::Kinesis::Types::ResourceInUseException + # end + # handler.on_kms_disabled_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSDisabledException + # end + # handler.on_kms_invalid_state_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSInvalidStateException + # end + # handler.on_kms_access_denied_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSAccessDeniedException + # end + # handler.on_kms_not_found_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSNotFoundException + # end + # handler.on_kms_opt_in_required_event do |event| + # event # => Aws::Kinesis::Types::KMSOptInRequired + # end + # handler.on_kms_throttling_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSThrottlingException + # end + # handler.on_internal_failure_exception_event do |event| + # event # => Aws::Kinesis::Types::InternalFailureException + # end + # + # client.subscribe_to_shard( # params input #, event_stream_handler: handler) + # + # 2) Use a Ruby Proc object + # Example for registering callbacks with specific events + # + # handler = Proc.new do |stream| + # stream.on_subscribe_to_shard_event_event do |event| + # event # => Aws::Kinesis::Types::SubscribeToShardEvent + # end + # stream.on_resource_not_found_exception_event do |event| + # event # => Aws::Kinesis::Types::ResourceNotFoundException + # end + # stream.on_resource_in_use_exception_event do |event| + # event # => Aws::Kinesis::Types::ResourceInUseException + # end + # stream.on_kms_disabled_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSDisabledException + # end + # stream.on_kms_invalid_state_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSInvalidStateException + # end + # stream.on_kms_access_denied_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSAccessDeniedException + # end + # stream.on_kms_not_found_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSNotFoundException + # end + # stream.on_kms_opt_in_required_event do |event| + # event # => Aws::Kinesis::Types::KMSOptInRequired + # end + # stream.on_kms_throttling_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSThrottlingException + # end + # stream.on_internal_failure_exception_event do |event| + # event # => Aws::Kinesis::Types::InternalFailureException + # end # end - # end - # - # client.subscribe_to_shard( - # # params inputs - # event_stream_handler: handler - # ) - # - # # Usage pattern c): Hybrid pattern of a) and b) - # handler = Aws::Kinesis::EventStreams::SubscribeToShardEventStream.new - # handler.on_subscribe_to_shard_event_event do |event| - # event # => Aws::Kinesis::Types::SubscribeToShardEvent - # end - # handler.on_resource_not_found_exception_event do |event| - # event # => Aws::Kinesis::Types::ResourceNotFoundException - # end - # handler.on_resource_in_use_exception_event do |event| - # event # => Aws::Kinesis::Types::ResourceInUseException - # end - # handler.on_kms_disabled_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSDisabledException - # end - # handler.on_kms_invalid_state_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSInvalidStateException - # end - # handler.on_kms_access_denied_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSAccessDeniedException - # end - # handler.on_kms_not_found_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSNotFoundException - # end - # handler.on_kms_opt_in_required_event do |event| - # event # => Aws::Kinesis::Types::KMSOptInRequired - # end - # handler.on_kms_throttling_exception_event do |event| - # event # => Aws::Kinesis::Types::KMSThrottlingException - # end - # handler.on_internal_failure_exception_event do |event| - # event # => Aws::Kinesis::Types::InternalFailureException - # end - # - # client.subscribe_to_shard( - # # params input - # event_stream_handler: handler - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String + # + # client.subscribe_to_shard( # params input #, event_stream_handler: handler) + # + # Usage pattern c): Hybrid pattern of a) and b) + # + # handler = Aws::Kinesis::EventStreams::SubscribeToShardEventStream.new + # handler.on_subscribe_to_shard_event_event do |event| + # event # => Aws::Kinesis::Types::SubscribeToShardEvent + # end + # handler.on_resource_not_found_exception_event do |event| + # event # => Aws::Kinesis::Types::ResourceNotFoundException + # end + # handler.on_resource_in_use_exception_event do |event| + # event # => Aws::Kinesis::Types::ResourceInUseException + # end + # handler.on_kms_disabled_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSDisabledException + # end + # handler.on_kms_invalid_state_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSInvalidStateException + # end + # handler.on_kms_access_denied_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSAccessDeniedException + # end + # handler.on_kms_not_found_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSNotFoundException + # end + # handler.on_kms_opt_in_required_event do |event| + # event # => Aws::Kinesis::Types::KMSOptInRequired + # end + # handler.on_kms_throttling_exception_event do |event| + # event # => Aws::Kinesis::Types::KMSThrottlingException + # end + # handler.on_internal_failure_exception_event do |event| + # event # => Aws::Kinesis::Types::InternalFailureException + # end + # + # client.subscribe_to_shard( # params input #, event_stream_handler: handler) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end # end - # end # - # # You can also iterate through events after the response complete. - # # Events are available at - # resp.event_stream # => Enumerator - # # For parameter input example, please refer to following request syntax. + # You can also iterate through events after the response complete. + # + # Events are available at resp.event_stream # => Enumerator + # For parameter input example, please refer to following request syntax # # @example Request syntax with placeholder values # @@ -650,11 +625,11 @@ def initialize(*args) # # @example Response structure # - # # All events are available at resp.event_stream: + # All events are available at resp.event_stream: # resp.event_stream #=> Enumerator # resp.event_stream.event_types #=> [:subscribe_to_shard_event, :resource_not_found_exception, :resource_in_use_exception, :kms_disabled_exception, :kms_invalid_state_exception, :kms_access_denied_exception, :kms_not_found_exception, :kms_opt_in_required, :kms_throttling_exception, :internal_failure_exception] # - # # For :subscribe_to_shard_event event available at #on_subscribe_to_shard_event_event callback and response eventstream enumerator: + # For :subscribe_to_shard_event event available at #on_subscribe_to_shard_event_event callback and response eventstream enumerator: # event.records #=> Array # event.records[0].sequence_number #=> String # event.records[0].approximate_arrival_timestamp #=> Time @@ -670,31 +645,31 @@ def initialize(*args) # event.child_shards[0].hash_key_range.starting_hash_key #=> String # event.child_shards[0].hash_key_range.ending_hash_key #=> String # - # # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: + # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :resource_in_use_exception event available at #on_resource_in_use_exception_event callback and response eventstream enumerator: + # For :resource_in_use_exception event available at #on_resource_in_use_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :kms_disabled_exception event available at #on_kms_disabled_exception_event callback and response eventstream enumerator: + # For :kms_disabled_exception event available at #on_kms_disabled_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :kms_invalid_state_exception event available at #on_kms_invalid_state_exception_event callback and response eventstream enumerator: + # For :kms_invalid_state_exception event available at #on_kms_invalid_state_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :kms_access_denied_exception event available at #on_kms_access_denied_exception_event callback and response eventstream enumerator: + # For :kms_access_denied_exception event available at #on_kms_access_denied_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :kms_not_found_exception event available at #on_kms_not_found_exception_event callback and response eventstream enumerator: + # For :kms_not_found_exception event available at #on_kms_not_found_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :kms_opt_in_required event available at #on_kms_opt_in_required_event callback and response eventstream enumerator: + # For :kms_opt_in_required event available at #on_kms_opt_in_required_event callback and response eventstream enumerator: # event.message #=> String # - # # For :kms_throttling_exception event available at #on_kms_throttling_exception_event callback and response eventstream enumerator: + # For :kms_throttling_exception event available at #on_kms_throttling_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: + # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: # event.message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/SubscribeToShard AWS API Documentation diff --git a/gems/aws-sdk-kinesis/sig/async_client.rbs b/gems/aws-sdk-kinesis/sig/async_client.rbs deleted file mode 100644 index 12ffc45c089..00000000000 --- a/gems/aws-sdk-kinesis/sig/async_client.rbs +++ /dev/null @@ -1,87 +0,0 @@ -# WARNING ABOUT GENERATED CODE -# -# This file is generated. See the contributing guide for more information: -# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md -# -# WARNING ABOUT GENERATED CODE - -module Aws - module Kinesis - class AsyncClient < ::Seahorse::Client::AsyncBase - include ::Aws::AsyncClientStubs - - # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Kinesis/AsyncClient.html#initialize-instance_method - def self.new: ( - ?credentials: untyped, - ?region: String, - ?access_key_id: String, - ?account_id: String, - ?adaptive_retry_wait_to_fill: bool, - ?convert_params: bool, - ?correct_clock_skew: bool, - ?defaults_mode: String, - ?disable_request_compression: bool, - ?endpoint: String, - ?event_stream_handler: Proc, - ?ignore_configured_endpoint_urls: bool, - ?input_event_stream_handler: Proc, - ?log_formatter: untyped, - ?log_level: Symbol, - ?logger: untyped, - ?max_attempts: Integer, - ?output_event_stream_handler: Proc, - ?profile: String, - ?request_checksum_calculation: String, - ?request_min_compression_size_bytes: Integer, - ?response_checksum_validation: String, - ?retry_backoff: Proc, - ?retry_base_delay: Float, - ?retry_jitter: (:none | :equal | :full | ^(Integer) -> Integer), - ?retry_limit: Integer, - ?retry_max_delay: Integer, - ?retry_mode: ("legacy" | "standard" | "adaptive"), - ?sdk_ua_app_id: String, - ?secret_access_key: String, - ?session_token: String, - ?sigv4a_signing_region_set: Array[String], - ?simple_json: bool, - ?stub_responses: untyped, - ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, - ?token_provider: untyped, - ?use_dualstack_endpoint: bool, - ?use_fips_endpoint: bool, - ?validate_params: bool, - ?endpoint_provider: untyped, - ?connection_read_timeout: (Float | Integer), - ?connection_timeout: (Float | Integer), - ?enable_alpn: bool, - ?max_concurrent_streams: (Float | Integer), - ?read_chunk_size: (Float | Integer), - ?http_wire_trace: bool, - ?ssl_verify_peer: bool, - ?ssl_ca_bundle: String, - ?ssl_ca_directory: String, - ?ssl_ca_store: String, - ?raise_response_errors: bool - ) -> instance - | (?Hash[Symbol, untyped]) -> instance - - - interface _SubscribeToShardResponseSuccess - include ::Seahorse::Client::_ResponseSuccess[Types::SubscribeToShardOutput] - def event_stream: () -> Types::SubscribeToShardEventStream - end - # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Kinesis/AsyncClient.html#subscribe_to_shard-instance_method - def subscribe_to_shard: ( - consumer_arn: ::String, - shard_id: ::String, - starting_position: { - type: ("AT_SEQUENCE_NUMBER" | "AFTER_SEQUENCE_NUMBER" | "TRIM_HORIZON" | "LATEST" | "AT_TIMESTAMP"), - sequence_number: ::String?, - timestamp: ::Time? - } - ) -> _SubscribeToShardResponseSuccess - | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _SubscribeToShardResponseSuccess - end - end -end \ No newline at end of file diff --git a/gems/aws-sdk-kinesis/sig/client.rbs b/gems/aws-sdk-kinesis/sig/client.rbs index dee19c031a8..88920ac2290 100644 --- a/gems/aws-sdk-kinesis/sig/client.rbs +++ b/gems/aws-sdk-kinesis/sig/client.rbs @@ -419,6 +419,22 @@ module Aws ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure] | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure] + interface _SubscribeToShardResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::SubscribeToShardOutput] + def event_stream: () -> Types::SubscribeToShardEventStream + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Kinesis/Client.html#subscribe_to_shard-instance_method + def subscribe_to_shard: ( + consumer_arn: ::String, + shard_id: ::String, + starting_position: { + type: ("AT_SEQUENCE_NUMBER" | "AFTER_SEQUENCE_NUMBER" | "TRIM_HORIZON" | "LATEST" | "AT_TIMESTAMP"), + sequence_number: ::String?, + timestamp: ::Time? + } + ) -> _SubscribeToShardResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _SubscribeToShardResponseSuccess + interface _UpdateShardCountResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::UpdateShardCountOutput] def stream_name: () -> ::String diff --git a/gems/aws-sdk-lambda/lib/aws-sdk-lambda/client.rb b/gems/aws-sdk-lambda/lib/aws-sdk-lambda/client.rb index 37c92319f19..831a270f3b9 100644 --- a/gems/aws-sdk-lambda/lib/aws-sdk-lambda/client.rb +++ b/gems/aws-sdk-lambda/lib/aws-sdk-lambda/client.rb @@ -4229,101 +4229,95 @@ def invoke_async(params = {}, options = {}) # # @example EventStream Operation Example # - # # You can process the event once it arrives immediately, or wait until the - # # full response is complete and iterate through the eventstream enumerator. - # - # # To interact with event immediately, you need to register invoke_with_response_stream - # # with callbacks. Callbacks can be registered for specific events or for all - # # events, including error events. - # - # # Callbacks can be passed into the `:event_stream_handler` option or within a - # # block statement attached to the #invoke_with_response_stream call directly. Hybrid - # # pattern of both is also supported. - # - # # `:event_stream_handler` option takes in either a Proc object or - # # Aws::Lambda::EventStreams::InvokeWithResponseStreamResponseEvent object. - # - # # Usage pattern a): Callbacks with a block attached to #invoke_with_response_stream - # # Example for registering callbacks for all event types and an error event - # client.invoke_with_response_stream( - # # params input - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # You can process the event once it arrives immediately, or wait until the + # full response is complete and iterate through the eventstream enumerator. + # + # To interact with event immediately, you need to register #invoke_with_response_stream + # with callbacks. Callbacks can be registered for specific events or for all + # events, including error events. + # + # Callbacks can be passed into the `:event_stream_handler` option or within a + # block statement attached to the #invoke_with_response_stream call directly. Hybrid + # pattern of both is also supported. + # + # `:event_stream_handler` option takes in either a Proc object or + # Aws::Lambda::EventStreams::InvokeWithResponseStreamResponseEvent object. + # + # Usage pattern a): Callbacks with a block attached to #invoke_with_response_stream + # Example for registering callbacks for all event types and an error event + # + # client.invoke_with_response_stream( # params input# ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # ... + # end # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # # ... - # end - # end - # - # # Usage pattern b): Pass in `:event_stream_handler` for #invoke_with_response_stream - # # 1) Create a Aws::Lambda::EventStreams::InvokeWithResponseStreamResponseEvent object - # # Example for registering callbacks with specific events - # - # handler = Aws::Lambda::EventStreams::InvokeWithResponseStreamResponseEvent.new - # handler.on_payload_chunk_event do |event| - # event # => Aws::Lambda::Types::PayloadChunk - # end - # handler.on_invoke_complete_event do |event| - # event # => Aws::Lambda::Types::InvokeComplete - # end - # - # client.invoke_with_response_stream( - # # params inputs - # event_stream_handler: handler - # ) - # - # # 2) Use a Ruby Proc object - # # Example for registering callbacks with specific events - # handler = Proc.new do |stream| - # stream.on_payload_chunk_event do |event| - # event # => Aws::Lambda::Types::PayloadChunk # end - # stream.on_invoke_complete_event do |event| - # event # => Aws::Lambda::Types::InvokeComplete + # + # Usage pattern b): Pass in `:event_stream_handler` for #invoke_with_response_stream + # + # 1) Create a Aws::Lambda::EventStreams::InvokeWithResponseStreamResponseEvent object + # Example for registering callbacks with specific events + # + # handler = Aws::Lambda::EventStreams::InvokeWithResponseStreamResponseEvent.new + # handler.on_payload_chunk_event do |event| + # event # => Aws::Lambda::Types::PayloadChunk + # end + # handler.on_invoke_complete_event do |event| + # event # => Aws::Lambda::Types::InvokeComplete + # end + # + # client.invoke_with_response_stream( # params input #, event_stream_handler: handler) + # + # 2) Use a Ruby Proc object + # Example for registering callbacks with specific events + # + # handler = Proc.new do |stream| + # stream.on_payload_chunk_event do |event| + # event # => Aws::Lambda::Types::PayloadChunk + # end + # stream.on_invoke_complete_event do |event| + # event # => Aws::Lambda::Types::InvokeComplete + # end # end - # end - # - # client.invoke_with_response_stream( - # # params inputs - # event_stream_handler: handler - # ) - # - # # Usage pattern c): Hybrid pattern of a) and b) - # handler = Aws::Lambda::EventStreams::InvokeWithResponseStreamResponseEvent.new - # handler.on_payload_chunk_event do |event| - # event # => Aws::Lambda::Types::PayloadChunk - # end - # handler.on_invoke_complete_event do |event| - # event # => Aws::Lambda::Types::InvokeComplete - # end - # - # client.invoke_with_response_stream( - # # params input - # event_stream_handler: handler - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String + # + # client.invoke_with_response_stream( # params input #, event_stream_handler: handler) + # + # Usage pattern c): Hybrid pattern of a) and b) + # + # handler = Aws::Lambda::EventStreams::InvokeWithResponseStreamResponseEvent.new + # handler.on_payload_chunk_event do |event| + # event # => Aws::Lambda::Types::PayloadChunk + # end + # handler.on_invoke_complete_event do |event| + # event # => Aws::Lambda::Types::InvokeComplete + # end + # + # client.invoke_with_response_stream( # params input #, event_stream_handler: handler) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end # end - # end # - # # You can also iterate through events after the response complete. - # # Events are available at - # resp.event_stream # => Enumerator - # # For parameter input example, please refer to following request syntax. + # You can also iterate through events after the response complete. + # + # Events are available at resp.event_stream # => Enumerator + # For parameter input example, please refer to following request syntax # # @example Request syntax with placeholder values # @@ -4340,14 +4334,14 @@ def invoke_async(params = {}, options = {}) # # resp.status_code #=> Integer # resp.executed_version #=> String - # # All events are available at resp.event_stream: + # All events are available at resp.event_stream: # resp.event_stream #=> Enumerator # resp.event_stream.event_types #=> [:payload_chunk, :invoke_complete] # - # # For :payload_chunk event available at #on_payload_chunk_event callback and response eventstream enumerator: + # For :payload_chunk event available at #on_payload_chunk_event callback and response eventstream enumerator: # event.payload #=> String # - # # For :invoke_complete event available at #on_invoke_complete_event callback and response eventstream enumerator: + # For :invoke_complete event available at #on_invoke_complete_event callback and response eventstream enumerator: # event.error_code #=> String # event.error_details #=> String # event.log_result #=> String diff --git a/gems/aws-sdk-lexruntimev2/lib/aws-sdk-lexruntimev2/async_client.rb b/gems/aws-sdk-lexruntimev2/lib/aws-sdk-lexruntimev2/async_client.rb index 824f1beafe9..784a5c5df0c 100644 --- a/gems/aws-sdk-lexruntimev2/lib/aws-sdk-lexruntimev2/async_client.rb +++ b/gems/aws-sdk-lexruntimev2/lib/aws-sdk-lexruntimev2/async_client.rb @@ -10,44 +10,32 @@ begin require 'http/2' rescue LoadError; end -require 'aws-sdk-core/plugins/credentials_configuration' -require 'aws-sdk-core/plugins/logging' -require 'aws-sdk-core/plugins/param_converter' -require 'aws-sdk-core/plugins/param_validator' -require 'aws-sdk-core/plugins/user_agent' -require 'aws-sdk-core/plugins/helpful_socket_errors' -require 'aws-sdk-core/plugins/retry_errors' -require 'aws-sdk-core/plugins/global_configuration' -require 'aws-sdk-core/plugins/regional_endpoint' -require 'aws-sdk-core/plugins/stub_responses' -require 'aws-sdk-core/plugins/idempotency_token' -require 'aws-sdk-core/plugins/invocation_id' -require 'aws-sdk-core/plugins/jsonvalue_converter' -require 'aws-sdk-core/plugins/http_checksum' -require 'aws-sdk-core/plugins/checksum_algorithm' -require 'aws-sdk-core/plugins/request_compression' -require 'aws-sdk-core/plugins/defaults_mode' -require 'aws-sdk-core/plugins/recursion_detection' -require 'aws-sdk-core/plugins/telemetry' -require 'aws-sdk-core/plugins/sign' -require 'aws-sdk-core/plugins/protocols/rest_json' -require 'aws-sdk-core/plugins/event_stream_configuration' +require 'aws-sdk-core/plugins/credentials_configuration.rb' +require 'aws-sdk-core/plugins/logging.rb' +require 'aws-sdk-core/plugins/param_converter.rb' +require 'aws-sdk-core/plugins/param_validator.rb' +require 'aws-sdk-core/plugins/user_agent.rb' +require 'aws-sdk-core/plugins/helpful_socket_errors.rb' +require 'aws-sdk-core/plugins/retry_errors.rb' +require 'aws-sdk-core/plugins/global_configuration.rb' +require 'aws-sdk-core/plugins/regional_endpoint.rb' +require 'aws-sdk-core/plugins/stub_responses.rb' +require 'aws-sdk-core/plugins/idempotency_token.rb' +require 'aws-sdk-core/plugins/invocation_id.rb' +require 'aws-sdk-core/plugins/jsonvalue_converter.rb' +require 'aws-sdk-core/plugins/http_checksum.rb' +require 'aws-sdk-core/plugins/checksum_algorithm.rb' +require 'aws-sdk-core/plugins/request_compression.rb' +require 'aws-sdk-core/plugins/defaults_mode.rb' +require 'aws-sdk-core/plugins/recursion_detection.rb' +require 'aws-sdk-core/plugins/telemetry.rb' +require 'aws-sdk-core/plugins/sign.rb' +require 'aws-sdk-core/plugins/protocols/rest_json.rb' +require 'aws-sdk-core/plugins/event_stream_configuration.rb' Aws::Plugins::GlobalConfiguration.add_identifier(:lexruntimev2) module Aws::LexRuntimeV2 - # An API async client for LexRuntimeV2. To construct an async client, you need to configure a `:region` and `:credentials`. - # - # async_client = Aws::LexRuntimeV2::AsyncClient.new( - # region: region_name, - # credentials: credentials, - # # ... - # ) - # - # For details on configuring region and credentials see - # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html). - # - # See {#initialize} for a full list of supported configuration options. class AsyncClient < Seahorse::Client::AsyncBase include Aws::AsyncClientStubs @@ -80,13 +68,6 @@ class AsyncClient < Seahorse::Client::AsyncBase add_plugin(Aws::Plugins::EventStreamConfiguration) add_plugin(Aws::LexRuntimeV2::Plugins::Endpoints) - # @overload initialize(options) - # @param [Hash] options - # - # @option options [Array] :plugins ([]]) - # A list of plugins to apply to the client. Each plugin is either a - # class name or an instance of a plugin class. - # # @option options [required, Aws::CredentialProvider] :credentials # Your AWS credentials. This can be an instance of any one of the # following classes: @@ -480,161 +461,150 @@ def initialize(*args) # * {Types::StartConversationResponse#response_event_stream #response_event_stream} => Types::StartConversationResponseEventStream # # @example Bi-directional EventStream Operation Example - # # You can signal input events after the initial request is established. Events - # # will be sent to the stream immediately once the stream connection is - # # established successfully. - # - # # To signal events, you can call the #signal methods from an - # # Aws::LexRuntimeV2::EventStreams::StartConversationRequestEventStream object. - # # You must signal events before calling #wait or #join! on the async response. - # input_stream = Aws::LexRuntimeV2::EventStreams::StartConversationRequestEventStream.new - # - # async_resp = client.start_conversation( - # # params input - # input_event_stream_handler: input_stream - # ) do |out_stream| - # # register callbacks for events - # out_stream.on_playback_interruption_event_event do |event| + # + # You can signal input events after the initial request is established. Events + # will be sent to the stream immediately once the stream connection is + # established successfully. + # + # To signal events, you can call the #signal methods from an Aws::LexRuntimeV2::EventStreams::StartConversationRequestEventStream + # object. You must signal events before calling #wait or #join! on the async response. + # + # input_stream = Aws::LexRuntimeV2::EventStreams::StartConversationRequestEventStream.new + # + # async_resp = client.start_conversation( + # # params input + # input_event_stream_handler: input_stream) do |out_stream| + # + # # register callbacks for events + # out_stream.on_playback_interruption_event_event do |event| + # event # => Aws::LexRuntimeV2::Types::PlaybackInterruptionEvent + # end + # out_stream.on_transcript_event_event do |event| + # event # => Aws::LexRuntimeV2::Types::TranscriptEvent + # end + # out_stream.on_intent_result_event_event do |event| + # event # => Aws::LexRuntimeV2::Types::IntentResultEvent + # end + # out_stream.on_text_response_event_event do |event| + # event # => Aws::LexRuntimeV2::Types::TextResponseEvent + # end + # out_stream.on_audio_response_event_event do |event| + # event # => Aws::LexRuntimeV2::Types::AudioResponseEvent + # end + # out_stream.on_heartbeat_event_event do |event| + # event # => Aws::LexRuntimeV2::Types::HeartbeatEvent + # end + # out_stream.on_access_denied_exception_event do |event| + # event # => Aws::LexRuntimeV2::Types::AccessDeniedException + # end + # out_stream.on_resource_not_found_exception_event do |event| + # event # => Aws::LexRuntimeV2::Types::ResourceNotFoundException + # end + # out_stream.on_validation_exception_event do |event| + # event # => Aws::LexRuntimeV2::Types::ValidationException + # end + # out_stream.on_throttling_exception_event do |event| + # event # => Aws::LexRuntimeV2::Types::ThrottlingException + # end + # out_stream.on_internal_server_exception_event do |event| + # event # => Aws::LexRuntimeV2::Types::InternalServerException + # end + # out_stream.on_conflict_exception_event do |event| + # event # => Aws::LexRuntimeV2::Types::ConflictException + # end + # out_stream.on_dependency_failed_exception_event do |event| + # event # => Aws::LexRuntimeV2::Types::DependencyFailedException + # end + # out_stream.on_bad_gateway_exception_event do |event| + # event # => Aws::LexRuntimeV2::Types::BadGatewayException + # end + # + # end + # # => Aws::Seahorse::Client::AsyncResponse + # + # # signal events + # input_stream.signal_configuration_event_event( ... ) + # input_stream.signal_audio_input_event_event( ... ) + # input_stream.signal_dtmf_input_event_event( ... ) + # input_stream.signal_text_input_event_event( ... ) + # input_stream.signal_playback_completion_event_event( ... ) + # input_stream.signal_disconnection_event_event( ... ) + # + # # make sure to signal :end_stream at the end + # input_stream.signal_end_stream + # + # # wait until stream is closed before finalizing the sync response + # resp = async_resp.wait + # # Or close the stream and finalize sync response immediately + # # resp = async_resp.join! + # + # You can also provide an Aws::LexRuntimeV2::EventStreams::StartConversationResponseEventStream object to register callbacks + # before initializing the request instead of processing from the request block. + # + # output_stream = Aws::LexRuntimeV2::EventStreams::StartConversationResponseEventStream.new + # # register callbacks for output events + # output_stream.on_playback_interruption_event_event do |event| # event # => Aws::LexRuntimeV2::Types::PlaybackInterruptionEvent # end - # out_stream.on_transcript_event_event do |event| + # output_stream.on_transcript_event_event do |event| # event # => Aws::LexRuntimeV2::Types::TranscriptEvent # end - # out_stream.on_intent_result_event_event do |event| + # output_stream.on_intent_result_event_event do |event| # event # => Aws::LexRuntimeV2::Types::IntentResultEvent # end - # out_stream.on_text_response_event_event do |event| + # output_stream.on_text_response_event_event do |event| # event # => Aws::LexRuntimeV2::Types::TextResponseEvent # end - # out_stream.on_audio_response_event_event do |event| + # output_stream.on_audio_response_event_event do |event| # event # => Aws::LexRuntimeV2::Types::AudioResponseEvent # end - # out_stream.on_heartbeat_event_event do |event| + # output_stream.on_heartbeat_event_event do |event| # event # => Aws::LexRuntimeV2::Types::HeartbeatEvent # end - # out_stream.on_access_denied_exception_event do |event| + # output_stream.on_access_denied_exception_event do |event| # event # => Aws::LexRuntimeV2::Types::AccessDeniedException # end - # out_stream.on_resource_not_found_exception_event do |event| + # output_stream.on_resource_not_found_exception_event do |event| # event # => Aws::LexRuntimeV2::Types::ResourceNotFoundException # end - # out_stream.on_validation_exception_event do |event| + # output_stream.on_validation_exception_event do |event| # event # => Aws::LexRuntimeV2::Types::ValidationException # end - # out_stream.on_throttling_exception_event do |event| + # output_stream.on_throttling_exception_event do |event| # event # => Aws::LexRuntimeV2::Types::ThrottlingException # end - # out_stream.on_internal_server_exception_event do |event| + # output_stream.on_internal_server_exception_event do |event| # event # => Aws::LexRuntimeV2::Types::InternalServerException # end - # out_stream.on_conflict_exception_event do |event| + # output_stream.on_conflict_exception_event do |event| # event # => Aws::LexRuntimeV2::Types::ConflictException # end - # out_stream.on_dependency_failed_exception_event do |event| + # output_stream.on_dependency_failed_exception_event do |event| # event # => Aws::LexRuntimeV2::Types::DependencyFailedException # end - # out_stream.on_bad_gateway_exception_event do |event| + # output_stream.on_bad_gateway_exception_event do |event| # event # => Aws::LexRuntimeV2::Types::BadGatewayException # end - # end - # # => Aws::Seahorse::Client::AsyncResponse - # - # # signal events - # input_stream.signal_configuration_event_event( - # # ... - # ) - # input_stream.signal_audio_input_event_event( - # # ... - # ) - # input_stream.signal_dtmf_input_event_event( - # # ... - # ) - # input_stream.signal_text_input_event_event( - # # ... - # ) - # input_stream.signal_playback_completion_event_event( - # # ... - # ) - # input_stream.signal_disconnection_event_event( - # # ... - # ) - # - # # make sure to signal :end_stream at the end - # input_stream.signal_end_stream - # - # # wait until stream is closed before finalizing the sync response - # resp = async_resp.wait - # - # # Or close the stream and finalize sync response immediately - # resp = async_resp.join! - # - # # You can also provide an Aws::LexRuntimeV2::EventStreams::StartConversationResponseEventStream object - # # to register callbacks before initializing the request instead of processing - # # from the request block. - # output_stream = Aws::LexRuntimeV2::EventStreams::StartConversationResponseEventStream.new - # - # # register callbacks for output events - # output_stream.on_playback_interruption_event_event do |event| - # event # => Aws::LexRuntimeV2::Types::PlaybackInterruptionEvent - # end - # output_stream.on_transcript_event_event do |event| - # event # => Aws::LexRuntimeV2::Types::TranscriptEvent - # end - # output_stream.on_intent_result_event_event do |event| - # event # => Aws::LexRuntimeV2::Types::IntentResultEvent - # end - # output_stream.on_text_response_event_event do |event| - # event # => Aws::LexRuntimeV2::Types::TextResponseEvent - # end - # output_stream.on_audio_response_event_event do |event| - # event # => Aws::LexRuntimeV2::Types::AudioResponseEvent - # end - # output_stream.on_heartbeat_event_event do |event| - # event # => Aws::LexRuntimeV2::Types::HeartbeatEvent - # end - # output_stream.on_access_denied_exception_event do |event| - # event # => Aws::LexRuntimeV2::Types::AccessDeniedException - # end - # output_stream.on_resource_not_found_exception_event do |event| - # event # => Aws::LexRuntimeV2::Types::ResourceNotFoundException - # end - # output_stream.on_validation_exception_event do |event| - # event # => Aws::LexRuntimeV2::Types::ValidationException - # end - # output_stream.on_throttling_exception_event do |event| - # event # => Aws::LexRuntimeV2::Types::ThrottlingException - # end - # output_stream.on_internal_server_exception_event do |event| - # event # => Aws::LexRuntimeV2::Types::InternalServerException - # end - # output_stream.on_conflict_exception_event do |event| - # event # => Aws::LexRuntimeV2::Types::ConflictException - # end - # output_stream.on_dependency_failed_exception_event do |event| - # event # => Aws::LexRuntimeV2::Types::DependencyFailedException - # end - # output_stream.on_bad_gateway_exception_event do |event| - # event # => Aws::LexRuntimeV2::Types::BadGatewayException - # end - # output_stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # async_resp = client.start_conversation( - # # params input - # input_event_stream_handler: input_stream, - # output_event_stream_handler: output_stream - # ) - # resp = async_resp.join! - # - # # You can also iterate through events after the response is complete. - # # Events are available at - # resp.response_event_stream # => Enumerator + # output_stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # async_resp = client.start_conversation ( + # # params input + # input_event_stream_handler: input_stream + # output_event_stream_handler: output_stream + # ) + # + # resp = async_resp.join! + # + # You can also iterate through events after the response is complete. + # + # Events are available at resp.response_event_stream # => Enumerator # # @example Request syntax with placeholder values # @@ -653,20 +623,20 @@ def initialize(*args) # # @example Response structure # - # # All events are available at resp.response_event_stream: + # All events are available at resp.response_event_stream: # resp.response_event_stream #=> Enumerator # resp.response_event_stream.event_types #=> [:playback_interruption_event, :transcript_event, :intent_result_event, :text_response_event, :audio_response_event, :heartbeat_event, :access_denied_exception, :resource_not_found_exception, :validation_exception, :throttling_exception, :internal_server_exception, :conflict_exception, :dependency_failed_exception, :bad_gateway_exception] # - # # For :playback_interruption_event event available at #on_playback_interruption_event_event callback and response eventstream enumerator: + # For :playback_interruption_event event available at #on_playback_interruption_event_event callback and response eventstream enumerator: # event.event_reason #=> String, one of "DTMF_START_DETECTED", "TEXT_DETECTED", "VOICE_START_DETECTED" # event.caused_by_event_id #=> String # event.event_id #=> String # - # # For :transcript_event event available at #on_transcript_event_event callback and response eventstream enumerator: + # For :transcript_event event available at #on_transcript_event_event callback and response eventstream enumerator: # event.transcript #=> String # event.event_id #=> String # - # # For :intent_result_event event available at #on_intent_result_event_event callback and response eventstream enumerator: + # For :intent_result_event event available at #on_intent_result_event_event callback and response eventstream enumerator: # event.input_mode #=> String, one of "Text", "Speech", "DTMF" # event.interpretations #=> Array # event.interpretations[0].nlu_confidence.score #=> Float @@ -726,7 +696,7 @@ def initialize(*args) # event.recognized_bot_member.bot_id #=> String # event.recognized_bot_member.bot_name #=> String # - # # For :text_response_event event available at #on_text_response_event_event callback and response eventstream enumerator: + # For :text_response_event event available at #on_text_response_event_event callback and response eventstream enumerator: # event.messages #=> Array # event.messages[0].content #=> String # event.messages[0].content_type #=> String, one of "CustomPayload", "ImageResponseCard", "PlainText", "SSML" @@ -738,36 +708,36 @@ def initialize(*args) # event.messages[0].image_response_card.buttons[0].value #=> String # event.event_id #=> String # - # # For :audio_response_event event available at #on_audio_response_event_event callback and response eventstream enumerator: + # For :audio_response_event event available at #on_audio_response_event_event callback and response eventstream enumerator: # event.audio_chunk #=> String # event.content_type #=> String # event.event_id #=> String # - # # For :heartbeat_event event available at #on_heartbeat_event_event callback and response eventstream enumerator: + # For :heartbeat_event event available at #on_heartbeat_event_event callback and response eventstream enumerator: # event.event_id #=> String # - # # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: + # For :access_denied_exception event available at #on_access_denied_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: + # For :resource_not_found_exception event available at #on_resource_not_found_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: + # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: + # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: + # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: + # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: + # For :dependency_failed_exception event available at #on_dependency_failed_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: + # For :bad_gateway_exception event available at #on_bad_gateway_exception_event callback and response eventstream enumerator: # event.message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/runtime.lex.v2-2020-08-07/StartConversation AWS API Documentation diff --git a/gems/aws-sdk-lexruntimev2/sig/async_client.rbs b/gems/aws-sdk-lexruntimev2/sig/async_client.rbs deleted file mode 100644 index 4ae3cfa659b..00000000000 --- a/gems/aws-sdk-lexruntimev2/sig/async_client.rbs +++ /dev/null @@ -1,85 +0,0 @@ -# WARNING ABOUT GENERATED CODE -# -# This file is generated. See the contributing guide for more information: -# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md -# -# WARNING ABOUT GENERATED CODE - -module Aws - module LexRuntimeV2 - class AsyncClient < ::Seahorse::Client::AsyncBase - include ::Aws::AsyncClientStubs - - # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/LexRuntimeV2/AsyncClient.html#initialize-instance_method - def self.new: ( - ?credentials: untyped, - ?region: String, - ?access_key_id: String, - ?account_id: String, - ?adaptive_retry_wait_to_fill: bool, - ?convert_params: bool, - ?correct_clock_skew: bool, - ?defaults_mode: String, - ?disable_request_compression: bool, - ?endpoint: String, - ?event_stream_handler: Proc, - ?ignore_configured_endpoint_urls: bool, - ?input_event_stream_handler: Proc, - ?log_formatter: untyped, - ?log_level: Symbol, - ?logger: untyped, - ?max_attempts: Integer, - ?output_event_stream_handler: Proc, - ?profile: String, - ?request_checksum_calculation: String, - ?request_min_compression_size_bytes: Integer, - ?response_checksum_validation: String, - ?retry_backoff: Proc, - ?retry_base_delay: Float, - ?retry_jitter: (:none | :equal | :full | ^(Integer) -> Integer), - ?retry_limit: Integer, - ?retry_max_delay: Integer, - ?retry_mode: ("legacy" | "standard" | "adaptive"), - ?sdk_ua_app_id: String, - ?secret_access_key: String, - ?session_token: String, - ?sigv4a_signing_region_set: Array[String], - ?stub_responses: untyped, - ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, - ?token_provider: untyped, - ?use_dualstack_endpoint: bool, - ?use_fips_endpoint: bool, - ?validate_params: bool, - ?endpoint_provider: untyped, - ?connection_read_timeout: (Float | Integer), - ?connection_timeout: (Float | Integer), - ?enable_alpn: bool, - ?max_concurrent_streams: (Float | Integer), - ?read_chunk_size: (Float | Integer), - ?http_wire_trace: bool, - ?ssl_verify_peer: bool, - ?ssl_ca_bundle: String, - ?ssl_ca_directory: String, - ?ssl_ca_store: String, - ?raise_response_errors: bool - ) -> instance - | (?Hash[Symbol, untyped]) -> instance - - - interface _StartConversationResponseSuccess - include ::Seahorse::Client::_ResponseSuccess[Types::StartConversationResponse] - def response_event_stream: () -> Types::StartConversationResponseEventStream - end - # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/LexRuntimeV2/AsyncClient.html#start_conversation-instance_method - def start_conversation: ( - bot_id: ::String, - bot_alias_id: ::String, - locale_id: ::String, - session_id: ::String, - ?conversation_mode: ("AUDIO" | "TEXT"), - input_event_stream_hander: untyped - ) ?{ (*untyped) -> void } -> _StartConversationResponseSuccess - | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _StartConversationResponseSuccess - end - end -end \ No newline at end of file diff --git a/gems/aws-sdk-lexruntimev2/sig/client.rbs b/gems/aws-sdk-lexruntimev2/sig/client.rbs index bce3f3eda7f..1bd9305e805 100644 --- a/gems/aws-sdk-lexruntimev2/sig/client.rbs +++ b/gems/aws-sdk-lexruntimev2/sig/client.rbs @@ -295,6 +295,21 @@ module Aws ?input_stream: ::String ) ?{ (*untyped) -> void } -> _RecognizeUtteranceResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _RecognizeUtteranceResponseSuccess + + interface _StartConversationResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::StartConversationResponse] + def response_event_stream: () -> Types::StartConversationResponseEventStream + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/LexRuntimeV2/Client.html#start_conversation-instance_method + def start_conversation: ( + bot_id: ::String, + bot_alias_id: ::String, + locale_id: ::String, + session_id: ::String, + ?conversation_mode: ("AUDIO" | "TEXT"), + input_event_stream_hander: untyped + ) ?{ (*untyped) -> void } -> _StartConversationResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _StartConversationResponseSuccess end end end diff --git a/gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/async_client.rb b/gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/async_client.rb index 1f2a3850b50..0a77cb6aaa9 100644 --- a/gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/async_client.rb +++ b/gems/aws-sdk-qbusiness/lib/aws-sdk-qbusiness/async_client.rb @@ -10,44 +10,32 @@ begin require 'http/2' rescue LoadError; end -require 'aws-sdk-core/plugins/credentials_configuration' -require 'aws-sdk-core/plugins/logging' -require 'aws-sdk-core/plugins/param_converter' -require 'aws-sdk-core/plugins/param_validator' -require 'aws-sdk-core/plugins/user_agent' -require 'aws-sdk-core/plugins/helpful_socket_errors' -require 'aws-sdk-core/plugins/retry_errors' -require 'aws-sdk-core/plugins/global_configuration' -require 'aws-sdk-core/plugins/regional_endpoint' -require 'aws-sdk-core/plugins/stub_responses' -require 'aws-sdk-core/plugins/idempotency_token' -require 'aws-sdk-core/plugins/invocation_id' -require 'aws-sdk-core/plugins/jsonvalue_converter' -require 'aws-sdk-core/plugins/http_checksum' -require 'aws-sdk-core/plugins/checksum_algorithm' -require 'aws-sdk-core/plugins/request_compression' -require 'aws-sdk-core/plugins/defaults_mode' -require 'aws-sdk-core/plugins/recursion_detection' -require 'aws-sdk-core/plugins/telemetry' -require 'aws-sdk-core/plugins/sign' -require 'aws-sdk-core/plugins/protocols/rest_json' -require 'aws-sdk-core/plugins/event_stream_configuration' +require 'aws-sdk-core/plugins/credentials_configuration.rb' +require 'aws-sdk-core/plugins/logging.rb' +require 'aws-sdk-core/plugins/param_converter.rb' +require 'aws-sdk-core/plugins/param_validator.rb' +require 'aws-sdk-core/plugins/user_agent.rb' +require 'aws-sdk-core/plugins/helpful_socket_errors.rb' +require 'aws-sdk-core/plugins/retry_errors.rb' +require 'aws-sdk-core/plugins/global_configuration.rb' +require 'aws-sdk-core/plugins/regional_endpoint.rb' +require 'aws-sdk-core/plugins/stub_responses.rb' +require 'aws-sdk-core/plugins/idempotency_token.rb' +require 'aws-sdk-core/plugins/invocation_id.rb' +require 'aws-sdk-core/plugins/jsonvalue_converter.rb' +require 'aws-sdk-core/plugins/http_checksum.rb' +require 'aws-sdk-core/plugins/checksum_algorithm.rb' +require 'aws-sdk-core/plugins/request_compression.rb' +require 'aws-sdk-core/plugins/defaults_mode.rb' +require 'aws-sdk-core/plugins/recursion_detection.rb' +require 'aws-sdk-core/plugins/telemetry.rb' +require 'aws-sdk-core/plugins/sign.rb' +require 'aws-sdk-core/plugins/protocols/rest_json.rb' +require 'aws-sdk-core/plugins/event_stream_configuration.rb' Aws::Plugins::GlobalConfiguration.add_identifier(:qbusiness) module Aws::QBusiness - # An API async client for QBusiness. To construct an async client, you need to configure a `:region` and `:credentials`. - # - # async_client = Aws::QBusiness::AsyncClient.new( - # region: region_name, - # credentials: credentials, - # # ... - # ) - # - # For details on configuring region and credentials see - # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html). - # - # See {#initialize} for a full list of supported configuration options. class AsyncClient < Seahorse::Client::AsyncBase include Aws::AsyncClientStubs @@ -80,13 +68,6 @@ class AsyncClient < Seahorse::Client::AsyncBase add_plugin(Aws::Plugins::EventStreamConfiguration) add_plugin(Aws::QBusiness::Plugins::Endpoints) - # @overload initialize(options) - # @param [Hash] options - # - # @option options [Array] :plugins ([]]) - # A list of plugins to apply to the client. Each plugin is either a - # class name or an instance of a plugin class. - # # @option options [required, Aws::CredentialProvider] :credentials # Your AWS credentials. This can be an instance of any one of the # following classes: @@ -434,107 +415,96 @@ def initialize(*args) # * {Types::ChatOutput#output_stream #output_stream} => Types::ChatOutputStream # # @example Bi-directional EventStream Operation Example - # # You can signal input events after the initial request is established. Events - # # will be sent to the stream immediately once the stream connection is - # # established successfully. - # - # # To signal events, you can call the #signal methods from an - # # Aws::QBusiness::EventStreams::ChatInputStream object. - # # You must signal events before calling #wait or #join! on the async response. - # input_stream = Aws::QBusiness::EventStreams::ChatInputStream.new - # - # async_resp = client.chat( - # # params input - # input_event_stream_handler: input_stream - # ) do |out_stream| - # # register callbacks for events - # out_stream.on_text_event_event do |event| + # + # You can signal input events after the initial request is established. Events + # will be sent to the stream immediately once the stream connection is + # established successfully. + # + # To signal events, you can call the #signal methods from an Aws::QBusiness::EventStreams::ChatInputStream + # object. You must signal events before calling #wait or #join! on the async response. + # + # input_stream = Aws::QBusiness::EventStreams::ChatInputStream.new + # + # async_resp = client.chat( + # # params input + # input_event_stream_handler: input_stream) do |out_stream| + # + # # register callbacks for events + # out_stream.on_text_event_event do |event| + # event # => Aws::QBusiness::Types::textEvent + # end + # out_stream.on_metadata_event_event do |event| + # event # => Aws::QBusiness::Types::metadataEvent + # end + # out_stream.on_action_review_event_event do |event| + # event # => Aws::QBusiness::Types::actionReviewEvent + # end + # out_stream.on_failed_attachment_event_event do |event| + # event # => Aws::QBusiness::Types::failedAttachmentEvent + # end + # out_stream.on_auth_challenge_request_event_event do |event| + # event # => Aws::QBusiness::Types::authChallengeRequestEvent + # end + # + # end + # # => Aws::Seahorse::Client::AsyncResponse + # + # # signal events + # input_stream.signal_configuration_event_event( ... ) + # input_stream.signal_text_event_event( ... ) + # input_stream.signal_attachment_event_event( ... ) + # input_stream.signal_action_execution_event_event( ... ) + # input_stream.signal_end_of_input_event_event( ... ) + # input_stream.signal_auth_challenge_response_event_event( ... ) + # + # # make sure to signal :end_stream at the end + # input_stream.signal_end_stream + # + # # wait until stream is closed before finalizing the sync response + # resp = async_resp.wait + # # Or close the stream and finalize sync response immediately + # # resp = async_resp.join! + # + # You can also provide an Aws::QBusiness::EventStreams::ChatOutputStream object to register callbacks + # before initializing the request instead of processing from the request block. + # + # output_stream = Aws::QBusiness::EventStreams::ChatOutputStream.new + # # register callbacks for output events + # output_stream.on_text_event_event do |event| # event # => Aws::QBusiness::Types::textEvent # end - # out_stream.on_metadata_event_event do |event| + # output_stream.on_metadata_event_event do |event| # event # => Aws::QBusiness::Types::metadataEvent # end - # out_stream.on_action_review_event_event do |event| + # output_stream.on_action_review_event_event do |event| # event # => Aws::QBusiness::Types::actionReviewEvent # end - # out_stream.on_failed_attachment_event_event do |event| + # output_stream.on_failed_attachment_event_event do |event| # event # => Aws::QBusiness::Types::failedAttachmentEvent # end - # out_stream.on_auth_challenge_request_event_event do |event| + # output_stream.on_auth_challenge_request_event_event do |event| # event # => Aws::QBusiness::Types::authChallengeRequestEvent # end - # end - # # => Aws::Seahorse::Client::AsyncResponse - # - # # signal events - # input_stream.signal_configuration_event_event( - # # ... - # ) - # input_stream.signal_text_event_event( - # # ... - # ) - # input_stream.signal_attachment_event_event( - # # ... - # ) - # input_stream.signal_action_execution_event_event( - # # ... - # ) - # input_stream.signal_end_of_input_event_event( - # # ... - # ) - # input_stream.signal_auth_challenge_response_event_event( - # # ... - # ) - # - # # make sure to signal :end_stream at the end - # input_stream.signal_end_stream - # - # # wait until stream is closed before finalizing the sync response - # resp = async_resp.wait - # - # # Or close the stream and finalize sync response immediately - # resp = async_resp.join! - # - # # You can also provide an Aws::QBusiness::EventStreams::ChatOutputStream object - # # to register callbacks before initializing the request instead of processing - # # from the request block. - # output_stream = Aws::QBusiness::EventStreams::ChatOutputStream.new - # - # # register callbacks for output events - # output_stream.on_text_event_event do |event| - # event # => Aws::QBusiness::Types::textEvent - # end - # output_stream.on_metadata_event_event do |event| - # event # => Aws::QBusiness::Types::metadataEvent - # end - # output_stream.on_action_review_event_event do |event| - # event # => Aws::QBusiness::Types::actionReviewEvent - # end - # output_stream.on_failed_attachment_event_event do |event| - # event # => Aws::QBusiness::Types::failedAttachmentEvent - # end - # output_stream.on_auth_challenge_request_event_event do |event| - # event # => Aws::QBusiness::Types::authChallengeRequestEvent - # end - # output_stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # async_resp = client.chat( - # # params input - # input_event_stream_handler: input_stream, - # output_event_stream_handler: output_stream - # ) - # resp = async_resp.join! - # - # # You can also iterate through events after the response is complete. - # # Events are available at - # resp.output_stream # => Enumerator + # output_stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # async_resp = client.chat ( + # # params input + # input_event_stream_handler: input_stream + # output_event_stream_handler: output_stream + # ) + # + # resp = async_resp.join! + # + # You can also iterate through events after the response is complete. + # + # Events are available at resp.output_stream # => Enumerator # # @example Request syntax with placeholder values # @@ -554,18 +524,18 @@ def initialize(*args) # # @example Response structure # - # # All events are available at resp.output_stream: + # All events are available at resp.output_stream: # resp.output_stream #=> Enumerator # resp.output_stream.event_types #=> [:text_event, :metadata_event, :action_review_event, :failed_attachment_event, :auth_challenge_request_event] # - # # For :text_event event available at #on_text_event_event callback and response eventstream enumerator: + # For :text_event event available at #on_text_event_event callback and response eventstream enumerator: # event.system_message_type #=> String, one of "RESPONSE", "GROUNDED_RESPONSE" # event.conversation_id #=> String # event.user_message_id #=> String # event.system_message_id #=> String # event.system_message #=> String # - # # For :metadata_event event available at #on_metadata_event_event callback and response eventstream enumerator: + # For :metadata_event event available at #on_metadata_event_event callback and response eventstream enumerator: # event.conversation_id #=> String # event.user_message_id #=> String # event.system_message_id #=> String @@ -595,7 +565,7 @@ def initialize(*args) # event.source_attributions[0].text_message_segments[0].source_details.video_source_details.video_extraction_type #=> String, one of "TRANSCRIPT", "SUMMARY" # event.final_text_message #=> String # - # # For :action_review_event event available at #on_action_review_event_event callback and response eventstream enumerator: + # For :action_review_event event available at #on_action_review_event_event callback and response eventstream enumerator: # event.conversation_id #=> String # event.user_message_id #=> String # event.system_message_id #=> String @@ -611,7 +581,7 @@ def initialize(*args) # event.payload["ActionPayloadFieldKey"].required #=> Boolean # event.payload_field_name_separator #=> String # - # # For :failed_attachment_event event available at #on_failed_attachment_event_event callback and response eventstream enumerator: + # For :failed_attachment_event event available at #on_failed_attachment_event_event callback and response eventstream enumerator: # event.conversation_id #=> String # event.user_message_id #=> String # event.system_message_id #=> String @@ -622,7 +592,7 @@ def initialize(*args) # event.attachment.attachment_id #=> String # event.attachment.conversation_id #=> String # - # # For :auth_challenge_request_event event available at #on_auth_challenge_request_event_event callback and response eventstream enumerator: + # For :auth_challenge_request_event event available at #on_auth_challenge_request_event_event callback and response eventstream enumerator: # event.authorization_url #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/Chat AWS API Documentation diff --git a/gems/aws-sdk-qbusiness/sig/async_client.rbs b/gems/aws-sdk-qbusiness/sig/async_client.rbs deleted file mode 100644 index 93594e9e036..00000000000 --- a/gems/aws-sdk-qbusiness/sig/async_client.rbs +++ /dev/null @@ -1,86 +0,0 @@ -# WARNING ABOUT GENERATED CODE -# -# This file is generated. See the contributing guide for more information: -# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md -# -# WARNING ABOUT GENERATED CODE - -module Aws - module QBusiness - class AsyncClient < ::Seahorse::Client::AsyncBase - include ::Aws::AsyncClientStubs - - # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/QBusiness/AsyncClient.html#initialize-instance_method - def self.new: ( - ?credentials: untyped, - ?region: String, - ?access_key_id: String, - ?account_id: String, - ?adaptive_retry_wait_to_fill: bool, - ?convert_params: bool, - ?correct_clock_skew: bool, - ?defaults_mode: String, - ?disable_request_compression: bool, - ?endpoint: String, - ?event_stream_handler: Proc, - ?ignore_configured_endpoint_urls: bool, - ?input_event_stream_handler: Proc, - ?log_formatter: untyped, - ?log_level: Symbol, - ?logger: untyped, - ?max_attempts: Integer, - ?output_event_stream_handler: Proc, - ?profile: String, - ?request_checksum_calculation: String, - ?request_min_compression_size_bytes: Integer, - ?response_checksum_validation: String, - ?retry_backoff: Proc, - ?retry_base_delay: Float, - ?retry_jitter: (:none | :equal | :full | ^(Integer) -> Integer), - ?retry_limit: Integer, - ?retry_max_delay: Integer, - ?retry_mode: ("legacy" | "standard" | "adaptive"), - ?sdk_ua_app_id: String, - ?secret_access_key: String, - ?session_token: String, - ?sigv4a_signing_region_set: Array[String], - ?stub_responses: untyped, - ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, - ?token_provider: untyped, - ?use_dualstack_endpoint: bool, - ?use_fips_endpoint: bool, - ?validate_params: bool, - ?endpoint_provider: untyped, - ?connection_read_timeout: (Float | Integer), - ?connection_timeout: (Float | Integer), - ?enable_alpn: bool, - ?max_concurrent_streams: (Float | Integer), - ?read_chunk_size: (Float | Integer), - ?http_wire_trace: bool, - ?ssl_verify_peer: bool, - ?ssl_ca_bundle: String, - ?ssl_ca_directory: String, - ?ssl_ca_store: String, - ?raise_response_errors: bool - ) -> instance - | (?Hash[Symbol, untyped]) -> instance - - - interface _ChatResponseSuccess - include ::Seahorse::Client::_ResponseSuccess[Types::ChatOutput] - def output_stream: () -> Types::ChatOutputStream - end - # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/QBusiness/AsyncClient.html#chat-instance_method - def chat: ( - application_id: ::String, - ?user_id: ::String, - ?user_groups: Array[::String], - ?conversation_id: ::String, - ?parent_message_id: ::String, - ?client_token: ::String, - input_event_stream_hander: untyped - ) ?{ (*untyped) -> void } -> _ChatResponseSuccess - | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _ChatResponseSuccess - end - end -end \ No newline at end of file diff --git a/gems/aws-sdk-qbusiness/sig/client.rbs b/gems/aws-sdk-qbusiness/sig/client.rbs index 85dae920430..47e773c12e4 100644 --- a/gems/aws-sdk-qbusiness/sig/client.rbs +++ b/gems/aws-sdk-qbusiness/sig/client.rbs @@ -251,6 +251,22 @@ module Aws ) -> _CancelSubscriptionResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CancelSubscriptionResponseSuccess + interface _ChatResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::ChatOutput] + def output_stream: () -> Types::ChatOutputStream + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/QBusiness/Client.html#chat-instance_method + def chat: ( + application_id: ::String, + ?user_id: ::String, + ?user_groups: Array[::String], + ?conversation_id: ::String, + ?parent_message_id: ::String, + ?client_token: ::String, + input_event_stream_hander: untyped + ) ?{ (*untyped) -> void } -> _ChatResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _ChatResponseSuccess + interface _ChatSyncResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::ChatSyncOutput] def conversation_id: () -> ::String diff --git a/gems/aws-sdk-s3/sig/client.rbs b/gems/aws-sdk-s3/sig/client.rbs index 728690f4bad..9caeec9a051 100644 --- a/gems/aws-sdk-s3/sig/client.rbs +++ b/gems/aws-sdk-s3/sig/client.rbs @@ -66,7 +66,7 @@ module Aws ?secret_access_key: String, ?session_token: String, ?sigv4a_signing_region_set: Array[String], - ?stub_responses: untyped, + ?stub_responses: bool, ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, ?token_provider: untyped, ?use_accelerate_endpoint: bool, diff --git a/gems/aws-sdk-s3/sig/resource.rbs b/gems/aws-sdk-s3/sig/resource.rbs index cd5d30a52bd..5a64f0439bc 100644 --- a/gems/aws-sdk-s3/sig/resource.rbs +++ b/gems/aws-sdk-s3/sig/resource.rbs @@ -66,7 +66,7 @@ module Aws ?secret_access_key: String, ?session_token: String, ?sigv4a_signing_region_set: Array[String], - ?stub_responses: untyped, + ?stub_responses: bool, ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, ?token_provider: untyped, ?use_accelerate_endpoint: bool, diff --git a/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime/client.rb b/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime/client.rb index e74f0acf7e2..a9753efd8b0 100644 --- a/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime/client.rb +++ b/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime/client.rb @@ -917,110 +917,104 @@ def invoke_endpoint_async(params = {}, options = {}) # # @example EventStream Operation Example # - # # You can process the event once it arrives immediately, or wait until the - # # full response is complete and iterate through the eventstream enumerator. - # - # # To interact with event immediately, you need to register invoke_endpoint_with_response_stream - # # with callbacks. Callbacks can be registered for specific events or for all - # # events, including error events. - # - # # Callbacks can be passed into the `:event_stream_handler` option or within a - # # block statement attached to the #invoke_endpoint_with_response_stream call directly. Hybrid - # # pattern of both is also supported. - # - # # `:event_stream_handler` option takes in either a Proc object or - # # Aws::SageMakerRuntime::EventStreams::ResponseStream object. - # - # # Usage pattern a): Callbacks with a block attached to #invoke_endpoint_with_response_stream - # # Example for registering callbacks for all event types and an error event - # client.invoke_endpoint_with_response_stream( - # # params input - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # You can process the event once it arrives immediately, or wait until the + # full response is complete and iterate through the eventstream enumerator. + # + # To interact with event immediately, you need to register #invoke_endpoint_with_response_stream + # with callbacks. Callbacks can be registered for specific events or for all + # events, including error events. + # + # Callbacks can be passed into the `:event_stream_handler` option or within a + # block statement attached to the #invoke_endpoint_with_response_stream call directly. Hybrid + # pattern of both is also supported. + # + # `:event_stream_handler` option takes in either a Proc object or + # Aws::SageMakerRuntime::EventStreams::ResponseStream object. + # + # Usage pattern a): Callbacks with a block attached to #invoke_endpoint_with_response_stream + # Example for registering callbacks for all event types and an error event + # + # client.invoke_endpoint_with_response_stream( # params input# ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # ... + # end # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # # ... - # end - # end - # - # # Usage pattern b): Pass in `:event_stream_handler` for #invoke_endpoint_with_response_stream - # # 1) Create a Aws::SageMakerRuntime::EventStreams::ResponseStream object - # # Example for registering callbacks with specific events - # - # handler = Aws::SageMakerRuntime::EventStreams::ResponseStream.new - # handler.on_payload_part_event do |event| - # event # => Aws::SageMakerRuntime::Types::PayloadPart - # end - # handler.on_model_stream_error_event do |event| - # event # => Aws::SageMakerRuntime::Types::ModelStreamError - # end - # handler.on_internal_stream_failure_event do |event| - # event # => Aws::SageMakerRuntime::Types::InternalStreamFailure - # end - # - # client.invoke_endpoint_with_response_stream( - # # params inputs - # event_stream_handler: handler - # ) - # - # # 2) Use a Ruby Proc object - # # Example for registering callbacks with specific events - # handler = Proc.new do |stream| - # stream.on_payload_part_event do |event| - # event # => Aws::SageMakerRuntime::Types::PayloadPart - # end - # stream.on_model_stream_error_event do |event| - # event # => Aws::SageMakerRuntime::Types::ModelStreamError # end - # stream.on_internal_stream_failure_event do |event| - # event # => Aws::SageMakerRuntime::Types::InternalStreamFailure + # + # Usage pattern b): Pass in `:event_stream_handler` for #invoke_endpoint_with_response_stream + # + # 1) Create a Aws::SageMakerRuntime::EventStreams::ResponseStream object + # Example for registering callbacks with specific events + # + # handler = Aws::SageMakerRuntime::EventStreams::ResponseStream.new + # handler.on_payload_part_event do |event| + # event # => Aws::SageMakerRuntime::Types::PayloadPart + # end + # handler.on_model_stream_error_event do |event| + # event # => Aws::SageMakerRuntime::Types::ModelStreamError + # end + # handler.on_internal_stream_failure_event do |event| + # event # => Aws::SageMakerRuntime::Types::InternalStreamFailure + # end + # + # client.invoke_endpoint_with_response_stream( # params input #, event_stream_handler: handler) + # + # 2) Use a Ruby Proc object + # Example for registering callbacks with specific events + # + # handler = Proc.new do |stream| + # stream.on_payload_part_event do |event| + # event # => Aws::SageMakerRuntime::Types::PayloadPart + # end + # stream.on_model_stream_error_event do |event| + # event # => Aws::SageMakerRuntime::Types::ModelStreamError + # end + # stream.on_internal_stream_failure_event do |event| + # event # => Aws::SageMakerRuntime::Types::InternalStreamFailure + # end # end - # end - # - # client.invoke_endpoint_with_response_stream( - # # params inputs - # event_stream_handler: handler - # ) - # - # # Usage pattern c): Hybrid pattern of a) and b) - # handler = Aws::SageMakerRuntime::EventStreams::ResponseStream.new - # handler.on_payload_part_event do |event| - # event # => Aws::SageMakerRuntime::Types::PayloadPart - # end - # handler.on_model_stream_error_event do |event| - # event # => Aws::SageMakerRuntime::Types::ModelStreamError - # end - # handler.on_internal_stream_failure_event do |event| - # event # => Aws::SageMakerRuntime::Types::InternalStreamFailure - # end - # - # client.invoke_endpoint_with_response_stream( - # # params input - # event_stream_handler: handler - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String + # + # client.invoke_endpoint_with_response_stream( # params input #, event_stream_handler: handler) + # + # Usage pattern c): Hybrid pattern of a) and b) + # + # handler = Aws::SageMakerRuntime::EventStreams::ResponseStream.new + # handler.on_payload_part_event do |event| + # event # => Aws::SageMakerRuntime::Types::PayloadPart + # end + # handler.on_model_stream_error_event do |event| + # event # => Aws::SageMakerRuntime::Types::ModelStreamError + # end + # handler.on_internal_stream_failure_event do |event| + # event # => Aws::SageMakerRuntime::Types::InternalStreamFailure + # end + # + # client.invoke_endpoint_with_response_stream( # params input #, event_stream_handler: handler) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end # end - # end # - # # You can also iterate through events after the response complete. - # # Events are available at - # resp.body # => Enumerator - # # For parameter input example, please refer to following request syntax. + # You can also iterate through events after the response complete. + # + # Events are available at resp.body # => Enumerator + # For parameter input example, please refer to following request syntax # # @example Request syntax with placeholder values # @@ -1039,18 +1033,18 @@ def invoke_endpoint_async(params = {}, options = {}) # # @example Response structure # - # # All events are available at resp.body: + # All events are available at resp.body: # resp.body #=> Enumerator # resp.body.event_types #=> [:payload_part, :model_stream_error, :internal_stream_failure] # - # # For :payload_part event available at #on_payload_part_event callback and response eventstream enumerator: + # For :payload_part event available at #on_payload_part_event callback and response eventstream enumerator: # event.bytes #=> String # - # # For :model_stream_error event available at #on_model_stream_error_event callback and response eventstream enumerator: + # For :model_stream_error event available at #on_model_stream_error_event callback and response eventstream enumerator: # event.message #=> String # event.error_code #=> String # - # # For :internal_stream_failure event available at #on_internal_stream_failure_event callback and response eventstream enumerator: + # For :internal_stream_failure event available at #on_internal_stream_failure_event callback and response eventstream enumerator: # event.message #=> String # # resp.content_type #=> String diff --git a/gems/aws-sdk-transcribestreamingservice/lib/aws-sdk-transcribestreamingservice/async_client.rb b/gems/aws-sdk-transcribestreamingservice/lib/aws-sdk-transcribestreamingservice/async_client.rb index 46dab07c8bf..27cff178dbf 100644 --- a/gems/aws-sdk-transcribestreamingservice/lib/aws-sdk-transcribestreamingservice/async_client.rb +++ b/gems/aws-sdk-transcribestreamingservice/lib/aws-sdk-transcribestreamingservice/async_client.rb @@ -10,44 +10,32 @@ begin require 'http/2' rescue LoadError; end -require 'aws-sdk-core/plugins/credentials_configuration' -require 'aws-sdk-core/plugins/logging' -require 'aws-sdk-core/plugins/param_converter' -require 'aws-sdk-core/plugins/param_validator' -require 'aws-sdk-core/plugins/user_agent' -require 'aws-sdk-core/plugins/helpful_socket_errors' -require 'aws-sdk-core/plugins/retry_errors' -require 'aws-sdk-core/plugins/global_configuration' -require 'aws-sdk-core/plugins/regional_endpoint' -require 'aws-sdk-core/plugins/stub_responses' -require 'aws-sdk-core/plugins/idempotency_token' -require 'aws-sdk-core/plugins/invocation_id' -require 'aws-sdk-core/plugins/jsonvalue_converter' -require 'aws-sdk-core/plugins/http_checksum' -require 'aws-sdk-core/plugins/checksum_algorithm' -require 'aws-sdk-core/plugins/request_compression' -require 'aws-sdk-core/plugins/defaults_mode' -require 'aws-sdk-core/plugins/recursion_detection' -require 'aws-sdk-core/plugins/telemetry' -require 'aws-sdk-core/plugins/sign' -require 'aws-sdk-core/plugins/protocols/rest_json' -require 'aws-sdk-core/plugins/event_stream_configuration' +require 'aws-sdk-core/plugins/credentials_configuration.rb' +require 'aws-sdk-core/plugins/logging.rb' +require 'aws-sdk-core/plugins/param_converter.rb' +require 'aws-sdk-core/plugins/param_validator.rb' +require 'aws-sdk-core/plugins/user_agent.rb' +require 'aws-sdk-core/plugins/helpful_socket_errors.rb' +require 'aws-sdk-core/plugins/retry_errors.rb' +require 'aws-sdk-core/plugins/global_configuration.rb' +require 'aws-sdk-core/plugins/regional_endpoint.rb' +require 'aws-sdk-core/plugins/stub_responses.rb' +require 'aws-sdk-core/plugins/idempotency_token.rb' +require 'aws-sdk-core/plugins/invocation_id.rb' +require 'aws-sdk-core/plugins/jsonvalue_converter.rb' +require 'aws-sdk-core/plugins/http_checksum.rb' +require 'aws-sdk-core/plugins/checksum_algorithm.rb' +require 'aws-sdk-core/plugins/request_compression.rb' +require 'aws-sdk-core/plugins/defaults_mode.rb' +require 'aws-sdk-core/plugins/recursion_detection.rb' +require 'aws-sdk-core/plugins/telemetry.rb' +require 'aws-sdk-core/plugins/sign.rb' +require 'aws-sdk-core/plugins/protocols/rest_json.rb' +require 'aws-sdk-core/plugins/event_stream_configuration.rb' Aws::Plugins::GlobalConfiguration.add_identifier(:transcribestreamingservice) module Aws::TranscribeStreamingService - # An API async client for TranscribeStreamingService. To construct an async client, you need to configure a `:region` and `:credentials`. - # - # async_client = Aws::TranscribeStreamingService::AsyncClient.new( - # region: region_name, - # credentials: credentials, - # # ... - # ) - # - # For details on configuring region and credentials see - # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html). - # - # See {#initialize} for a full list of supported configuration options. class AsyncClient < Seahorse::Client::AsyncBase include Aws::AsyncClientStubs @@ -80,13 +68,6 @@ class AsyncClient < Seahorse::Client::AsyncBase add_plugin(Aws::Plugins::EventStreamConfiguration) add_plugin(Aws::TranscribeStreamingService::Plugins::Endpoints) - # @overload initialize(options) - # @param [Hash] options - # - # @option options [Array] :plugins ([]]) - # A list of plugins to apply to the client. Each plugin is either a - # class name or an instance of a plugin class. - # # @option options [required, Aws::CredentialProvider] :credentials # Your AWS credentials. This can be an instance of any one of the # following classes: @@ -618,107 +599,104 @@ def initialize(*args) # * {Types::StartCallAnalyticsStreamTranscriptionResponse#pii_entity_types #pii_entity_types} => String # # @example Bi-directional EventStream Operation Example - # # You can signal input events after the initial request is established. Events - # # will be sent to the stream immediately once the stream connection is - # # established successfully. - # - # # To signal events, you can call the #signal methods from an - # # Aws::TranscribeStreamingService::EventStreams::AudioStream object. - # # You must signal events before calling #wait or #join! on the async response. - # input_stream = Aws::TranscribeStreamingService::EventStreams::AudioStream.new - # - # async_resp = client.start_call_analytics_stream_transcription( - # # params input - # input_event_stream_handler: input_stream - # ) do |out_stream| - # # register callbacks for events - # out_stream.on_utterance_event_event do |event| + # + # You can signal input events after the initial request is established. Events + # will be sent to the stream immediately once the stream connection is + # established successfully. + # + # To signal events, you can call the #signal methods from an Aws::TranscribeStreamingService::EventStreams::AudioStream + # object. You must signal events before calling #wait or #join! on the async response. + # + # input_stream = Aws::TranscribeStreamingService::EventStreams::AudioStream.new + # + # async_resp = client.start_call_analytics_stream_transcription( + # # params input + # input_event_stream_handler: input_stream) do |out_stream| + # + # # register callbacks for events + # out_stream.on_utterance_event_event do |event| + # event # => Aws::TranscribeStreamingService::Types::UtteranceEvent + # end + # out_stream.on_category_event_event do |event| + # event # => Aws::TranscribeStreamingService::Types::CategoryEvent + # end + # out_stream.on_bad_request_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::BadRequestException + # end + # out_stream.on_limit_exceeded_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::LimitExceededException + # end + # out_stream.on_internal_failure_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::InternalFailureException + # end + # out_stream.on_conflict_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::ConflictException + # end + # out_stream.on_service_unavailable_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException + # end + # + # end + # # => Aws::Seahorse::Client::AsyncResponse + # + # # signal events + # input_stream.signal_audio_event_event( ... ) + # input_stream.signal_configuration_event_event( ... ) + # + # # make sure to signal :end_stream at the end + # input_stream.signal_end_stream + # + # # wait until stream is closed before finalizing the sync response + # resp = async_resp.wait + # # Or close the stream and finalize sync response immediately + # # resp = async_resp.join! + # + # You can also provide an Aws::TranscribeStreamingService::EventStreams::CallAnalyticsTranscriptResultStream object to register callbacks + # before initializing the request instead of processing from the request block. + # + # output_stream = Aws::TranscribeStreamingService::EventStreams::CallAnalyticsTranscriptResultStream.new + # # register callbacks for output events + # output_stream.on_utterance_event_event do |event| # event # => Aws::TranscribeStreamingService::Types::UtteranceEvent # end - # out_stream.on_category_event_event do |event| + # output_stream.on_category_event_event do |event| # event # => Aws::TranscribeStreamingService::Types::CategoryEvent # end - # out_stream.on_bad_request_exception_event do |event| + # output_stream.on_bad_request_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::BadRequestException # end - # out_stream.on_limit_exceeded_exception_event do |event| + # output_stream.on_limit_exceeded_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::LimitExceededException # end - # out_stream.on_internal_failure_exception_event do |event| + # output_stream.on_internal_failure_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::InternalFailureException # end - # out_stream.on_conflict_exception_event do |event| + # output_stream.on_conflict_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::ConflictException # end - # out_stream.on_service_unavailable_exception_event do |event| + # output_stream.on_service_unavailable_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException # end - # end - # # => Aws::Seahorse::Client::AsyncResponse - # - # # signal events - # input_stream.signal_audio_event_event( - # # ... - # ) - # input_stream.signal_configuration_event_event( - # # ... - # ) - # - # # make sure to signal :end_stream at the end - # input_stream.signal_end_stream - # - # # wait until stream is closed before finalizing the sync response - # resp = async_resp.wait - # - # # Or close the stream and finalize sync response immediately - # resp = async_resp.join! - # - # # You can also provide an Aws::TranscribeStreamingService::EventStreams::CallAnalyticsTranscriptResultStream object - # # to register callbacks before initializing the request instead of processing - # # from the request block. - # output_stream = Aws::TranscribeStreamingService::EventStreams::CallAnalyticsTranscriptResultStream.new - # - # # register callbacks for output events - # output_stream.on_utterance_event_event do |event| - # event # => Aws::TranscribeStreamingService::Types::UtteranceEvent - # end - # output_stream.on_category_event_event do |event| - # event # => Aws::TranscribeStreamingService::Types::CategoryEvent - # end - # output_stream.on_bad_request_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::BadRequestException - # end - # output_stream.on_limit_exceeded_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::LimitExceededException - # end - # output_stream.on_internal_failure_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::InternalFailureException - # end - # output_stream.on_conflict_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::ConflictException - # end - # output_stream.on_service_unavailable_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException - # end - # output_stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # async_resp = client.start_call_analytics_stream_transcription( - # # params input - # input_event_stream_handler: input_stream, - # output_event_stream_handler: output_stream - # ) - # resp = async_resp.join! - # - # # You can also iterate through events after the response is complete. - # # Events are available at - # resp.call_analytics_transcript_result_stream # => Enumerator + # output_stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # async_resp = client.start_call_analytics_stream_transcription ( + # # params input + # input_event_stream_handler: input_stream + # output_event_stream_handler: output_stream + # ) + # + # resp = async_resp.join! + # + # You can also iterate through events after the response is complete. + # + # Events are available at resp.call_analytics_transcript_result_stream # => Enumerator # # @example Request syntax with placeholder values # @@ -751,11 +729,11 @@ def initialize(*args) # resp.media_encoding #=> String, one of "pcm", "ogg-opus", "flac" # resp.vocabulary_name #=> String # resp.session_id #=> String - # # All events are available at resp.call_analytics_transcript_result_stream: + # All events are available at resp.call_analytics_transcript_result_stream: # resp.call_analytics_transcript_result_stream #=> Enumerator # resp.call_analytics_transcript_result_stream.event_types #=> [:utterance_event, :category_event, :bad_request_exception, :limit_exceeded_exception, :internal_failure_exception, :conflict_exception, :service_unavailable_exception] # - # # For :utterance_event event available at #on_utterance_event_event callback and response eventstream enumerator: + # For :utterance_event event available at #on_utterance_event_event callback and response eventstream enumerator: # event.utterance_id #=> String # event.is_partial #=> Boolean # event.participant_role #=> String, one of "AGENT", "CUSTOMER" @@ -782,7 +760,7 @@ def initialize(*args) # event.issues_detected[0].character_offsets.begin #=> Integer # event.issues_detected[0].character_offsets.end #=> Integer # - # # For :category_event event available at #on_category_event_event callback and response eventstream enumerator: + # For :category_event event available at #on_category_event_event callback and response eventstream enumerator: # event.matched_categories #=> Array # event.matched_categories[0] #=> String # event.matched_details #=> Hash @@ -790,19 +768,19 @@ def initialize(*args) # event.matched_details["String"].timestamp_ranges[0].begin_offset_millis #=> Integer # event.matched_details["String"].timestamp_ranges[0].end_offset_millis #=> Integer # - # # For :bad_request_exception event available at #on_bad_request_exception_event callback and response eventstream enumerator: + # For :bad_request_exception event available at #on_bad_request_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :limit_exceeded_exception event available at #on_limit_exceeded_exception_event callback and response eventstream enumerator: + # For :limit_exceeded_exception event available at #on_limit_exceeded_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: + # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: + # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: + # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: # event.message #=> String # # resp.vocabulary_filter_name #=> String @@ -927,104 +905,99 @@ def start_call_analytics_stream_transcription(params = {}, options = {}, &block) # * {Types::StartMedicalScribeStreamResponse#result_stream #result_stream} => Types::MedicalScribeResultStream # # @example Bi-directional EventStream Operation Example - # # You can signal input events after the initial request is established. Events - # # will be sent to the stream immediately once the stream connection is - # # established successfully. - # - # # To signal events, you can call the #signal methods from an - # # Aws::TranscribeStreamingService::EventStreams::MedicalScribeInputStream object. - # # You must signal events before calling #wait or #join! on the async response. - # input_stream = Aws::TranscribeStreamingService::EventStreams::MedicalScribeInputStream.new - # - # async_resp = client.start_medical_scribe_stream( - # # params input - # input_event_stream_handler: input_stream - # ) do |out_stream| - # # register callbacks for events - # out_stream.on_transcript_event_event do |event| + # + # You can signal input events after the initial request is established. Events + # will be sent to the stream immediately once the stream connection is + # established successfully. + # + # To signal events, you can call the #signal methods from an Aws::TranscribeStreamingService::EventStreams::MedicalScribeInputStream + # object. You must signal events before calling #wait or #join! on the async response. + # + # input_stream = Aws::TranscribeStreamingService::EventStreams::MedicalScribeInputStream.new + # + # async_resp = client.start_medical_scribe_stream( + # # params input + # input_event_stream_handler: input_stream) do |out_stream| + # + # # register callbacks for events + # out_stream.on_transcript_event_event do |event| + # event # => Aws::TranscribeStreamingService::Types::TranscriptEvent + # end + # out_stream.on_bad_request_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::BadRequestException + # end + # out_stream.on_limit_exceeded_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::LimitExceededException + # end + # out_stream.on_internal_failure_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::InternalFailureException + # end + # out_stream.on_conflict_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::ConflictException + # end + # out_stream.on_service_unavailable_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException + # end + # + # end + # # => Aws::Seahorse::Client::AsyncResponse + # + # # signal events + # input_stream.signal_audio_event_event( ... ) + # input_stream.signal_session_control_event_event( ... ) + # input_stream.signal_configuration_event_event( ... ) + # + # # make sure to signal :end_stream at the end + # input_stream.signal_end_stream + # + # # wait until stream is closed before finalizing the sync response + # resp = async_resp.wait + # # Or close the stream and finalize sync response immediately + # # resp = async_resp.join! + # + # You can also provide an Aws::TranscribeStreamingService::EventStreams::MedicalScribeResultStream object to register callbacks + # before initializing the request instead of processing from the request block. + # + # output_stream = Aws::TranscribeStreamingService::EventStreams::MedicalScribeResultStream.new + # # register callbacks for output events + # output_stream.on_transcript_event_event do |event| # event # => Aws::TranscribeStreamingService::Types::TranscriptEvent # end - # out_stream.on_bad_request_exception_event do |event| + # output_stream.on_bad_request_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::BadRequestException # end - # out_stream.on_limit_exceeded_exception_event do |event| + # output_stream.on_limit_exceeded_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::LimitExceededException # end - # out_stream.on_internal_failure_exception_event do |event| + # output_stream.on_internal_failure_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::InternalFailureException # end - # out_stream.on_conflict_exception_event do |event| + # output_stream.on_conflict_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::ConflictException # end - # out_stream.on_service_unavailable_exception_event do |event| + # output_stream.on_service_unavailable_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException # end - # end - # # => Aws::Seahorse::Client::AsyncResponse - # - # # signal events - # input_stream.signal_audio_event_event( - # # ... - # ) - # input_stream.signal_session_control_event_event( - # # ... - # ) - # input_stream.signal_configuration_event_event( - # # ... - # ) - # - # # make sure to signal :end_stream at the end - # input_stream.signal_end_stream - # - # # wait until stream is closed before finalizing the sync response - # resp = async_resp.wait - # - # # Or close the stream and finalize sync response immediately - # resp = async_resp.join! - # - # # You can also provide an Aws::TranscribeStreamingService::EventStreams::MedicalScribeResultStream object - # # to register callbacks before initializing the request instead of processing - # # from the request block. - # output_stream = Aws::TranscribeStreamingService::EventStreams::MedicalScribeResultStream.new - # - # # register callbacks for output events - # output_stream.on_transcript_event_event do |event| - # event # => Aws::TranscribeStreamingService::Types::TranscriptEvent - # end - # output_stream.on_bad_request_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::BadRequestException - # end - # output_stream.on_limit_exceeded_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::LimitExceededException - # end - # output_stream.on_internal_failure_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::InternalFailureException - # end - # output_stream.on_conflict_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::ConflictException - # end - # output_stream.on_service_unavailable_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException - # end - # output_stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # async_resp = client.start_medical_scribe_stream( - # # params input - # input_event_stream_handler: input_stream, - # output_event_stream_handler: output_stream - # ) - # resp = async_resp.join! - # - # # You can also iterate through events after the response is complete. - # # Events are available at - # resp.result_stream # => Enumerator + # output_stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # async_resp = client.start_medical_scribe_stream ( + # # params input + # input_event_stream_handler: input_stream + # output_event_stream_handler: output_stream + # ) + # + # resp = async_resp.join! + # + # You can also iterate through events after the response is complete. + # + # Events are available at resp.result_stream # => Enumerator # # @example Request syntax with placeholder values # @@ -1047,11 +1020,11 @@ def start_call_analytics_stream_transcription(params = {}, options = {}, &block) # resp.language_code #=> String, one of "en-US" # resp.media_sample_rate_hertz #=> Integer # resp.media_encoding #=> String, one of "pcm", "ogg-opus", "flac" - # # All events are available at resp.result_stream: + # All events are available at resp.result_stream: # resp.result_stream #=> Enumerator # resp.result_stream.event_types #=> [:transcript_event, :bad_request_exception, :limit_exceeded_exception, :internal_failure_exception, :conflict_exception, :service_unavailable_exception] # - # # For :transcript_event event available at #on_transcript_event_event callback and response eventstream enumerator: + # For :transcript_event event available at #on_transcript_event_event callback and response eventstream enumerator: # event.transcript_segment.segment_id #=> String # event.transcript_segment.begin_audio_time #=> Float # event.transcript_segment.end_audio_time #=> Float @@ -1066,19 +1039,19 @@ def start_call_analytics_stream_transcription(params = {}, options = {}, &block) # event.transcript_segment.is_partial #=> Boolean # event.transcript_segment.channel_id #=> String # - # # For :bad_request_exception event available at #on_bad_request_exception_event callback and response eventstream enumerator: + # For :bad_request_exception event available at #on_bad_request_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :limit_exceeded_exception event available at #on_limit_exceeded_exception_event callback and response eventstream enumerator: + # For :limit_exceeded_exception event available at #on_limit_exceeded_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: + # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: + # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: + # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: # event.message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/transcribe-streaming-2017-10-26/StartMedicalScribeStream AWS API Documentation @@ -1245,101 +1218,98 @@ def start_medical_scribe_stream(params = {}, options = {}, &block) # * {Types::StartMedicalStreamTranscriptionResponse#content_identification_type #content_identification_type} => String # # @example Bi-directional EventStream Operation Example - # # You can signal input events after the initial request is established. Events - # # will be sent to the stream immediately once the stream connection is - # # established successfully. - # - # # To signal events, you can call the #signal methods from an - # # Aws::TranscribeStreamingService::EventStreams::AudioStream object. - # # You must signal events before calling #wait or #join! on the async response. - # input_stream = Aws::TranscribeStreamingService::EventStreams::AudioStream.new - # - # async_resp = client.start_medical_stream_transcription( - # # params input - # input_event_stream_handler: input_stream - # ) do |out_stream| - # # register callbacks for events - # out_stream.on_transcript_event_event do |event| + # + # You can signal input events after the initial request is established. Events + # will be sent to the stream immediately once the stream connection is + # established successfully. + # + # To signal events, you can call the #signal methods from an Aws::TranscribeStreamingService::EventStreams::AudioStream + # object. You must signal events before calling #wait or #join! on the async response. + # + # input_stream = Aws::TranscribeStreamingService::EventStreams::AudioStream.new + # + # async_resp = client.start_medical_stream_transcription( + # # params input + # input_event_stream_handler: input_stream) do |out_stream| + # + # # register callbacks for events + # out_stream.on_transcript_event_event do |event| + # event # => Aws::TranscribeStreamingService::Types::TranscriptEvent + # end + # out_stream.on_bad_request_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::BadRequestException + # end + # out_stream.on_limit_exceeded_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::LimitExceededException + # end + # out_stream.on_internal_failure_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::InternalFailureException + # end + # out_stream.on_conflict_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::ConflictException + # end + # out_stream.on_service_unavailable_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException + # end + # + # end + # # => Aws::Seahorse::Client::AsyncResponse + # + # # signal events + # input_stream.signal_audio_event_event( ... ) + # input_stream.signal_configuration_event_event( ... ) + # + # # make sure to signal :end_stream at the end + # input_stream.signal_end_stream + # + # # wait until stream is closed before finalizing the sync response + # resp = async_resp.wait + # # Or close the stream and finalize sync response immediately + # # resp = async_resp.join! + # + # You can also provide an Aws::TranscribeStreamingService::EventStreams::MedicalTranscriptResultStream object to register callbacks + # before initializing the request instead of processing from the request block. + # + # output_stream = Aws::TranscribeStreamingService::EventStreams::MedicalTranscriptResultStream.new + # # register callbacks for output events + # output_stream.on_transcript_event_event do |event| # event # => Aws::TranscribeStreamingService::Types::TranscriptEvent # end - # out_stream.on_bad_request_exception_event do |event| + # output_stream.on_bad_request_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::BadRequestException # end - # out_stream.on_limit_exceeded_exception_event do |event| + # output_stream.on_limit_exceeded_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::LimitExceededException # end - # out_stream.on_internal_failure_exception_event do |event| + # output_stream.on_internal_failure_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::InternalFailureException # end - # out_stream.on_conflict_exception_event do |event| + # output_stream.on_conflict_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::ConflictException # end - # out_stream.on_service_unavailable_exception_event do |event| + # output_stream.on_service_unavailable_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException # end - # end - # # => Aws::Seahorse::Client::AsyncResponse - # - # # signal events - # input_stream.signal_audio_event_event( - # # ... - # ) - # input_stream.signal_configuration_event_event( - # # ... - # ) - # - # # make sure to signal :end_stream at the end - # input_stream.signal_end_stream - # - # # wait until stream is closed before finalizing the sync response - # resp = async_resp.wait - # - # # Or close the stream and finalize sync response immediately - # resp = async_resp.join! - # - # # You can also provide an Aws::TranscribeStreamingService::EventStreams::MedicalTranscriptResultStream object - # # to register callbacks before initializing the request instead of processing - # # from the request block. - # output_stream = Aws::TranscribeStreamingService::EventStreams::MedicalTranscriptResultStream.new - # - # # register callbacks for output events - # output_stream.on_transcript_event_event do |event| - # event # => Aws::TranscribeStreamingService::Types::TranscriptEvent - # end - # output_stream.on_bad_request_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::BadRequestException - # end - # output_stream.on_limit_exceeded_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::LimitExceededException - # end - # output_stream.on_internal_failure_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::InternalFailureException - # end - # output_stream.on_conflict_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::ConflictException - # end - # output_stream.on_service_unavailable_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException - # end - # output_stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # async_resp = client.start_medical_stream_transcription( - # # params input - # input_event_stream_handler: input_stream, - # output_event_stream_handler: output_stream - # ) - # resp = async_resp.join! - # - # # You can also iterate through events after the response is complete. - # # Events are available at - # resp.transcript_result_stream # => Enumerator + # output_stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # async_resp = client.start_medical_stream_transcription ( + # # params input + # input_event_stream_handler: input_stream + # output_event_stream_handler: output_stream + # ) + # + # resp = async_resp.join! + # + # You can also iterate through events after the response is complete. + # + # Events are available at resp.transcript_result_stream # => Enumerator # # @example Request syntax with placeholder values # @@ -1373,11 +1343,11 @@ def start_medical_scribe_stream(params = {}, options = {}, &block) # resp.type #=> String, one of "CONVERSATION", "DICTATION" # resp.show_speaker_label #=> Boolean # resp.session_id #=> String - # # All events are available at resp.transcript_result_stream: + # All events are available at resp.transcript_result_stream: # resp.transcript_result_stream #=> Enumerator # resp.transcript_result_stream.event_types #=> [:transcript_event, :bad_request_exception, :limit_exceeded_exception, :internal_failure_exception, :conflict_exception, :service_unavailable_exception] # - # # For :transcript_event event available at #on_transcript_event_event callback and response eventstream enumerator: + # For :transcript_event event available at #on_transcript_event_event callback and response eventstream enumerator: # event.transcript.results #=> Array # event.transcript.results[0].result_id #=> String # event.transcript.results[0].start_time #=> Float @@ -1400,19 +1370,19 @@ def start_medical_scribe_stream(params = {}, options = {}, &block) # event.transcript.results[0].alternatives[0].entities[0].confidence #=> Float # event.transcript.results[0].channel_id #=> String # - # # For :bad_request_exception event available at #on_bad_request_exception_event callback and response eventstream enumerator: + # For :bad_request_exception event available at #on_bad_request_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :limit_exceeded_exception event available at #on_limit_exceeded_exception_event callback and response eventstream enumerator: + # For :limit_exceeded_exception event available at #on_limit_exceeded_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: + # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: + # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: + # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: # event.message #=> String # # resp.enable_channel_identification #=> Boolean @@ -1832,101 +1802,98 @@ def start_medical_stream_transcription(params = {}, options = {}, &block) # * {Types::StartStreamTranscriptionResponse#vocabulary_filter_names #vocabulary_filter_names} => String # # @example Bi-directional EventStream Operation Example - # # You can signal input events after the initial request is established. Events - # # will be sent to the stream immediately once the stream connection is - # # established successfully. - # - # # To signal events, you can call the #signal methods from an - # # Aws::TranscribeStreamingService::EventStreams::AudioStream object. - # # You must signal events before calling #wait or #join! on the async response. - # input_stream = Aws::TranscribeStreamingService::EventStreams::AudioStream.new - # - # async_resp = client.start_stream_transcription( - # # params input - # input_event_stream_handler: input_stream - # ) do |out_stream| - # # register callbacks for events - # out_stream.on_transcript_event_event do |event| + # + # You can signal input events after the initial request is established. Events + # will be sent to the stream immediately once the stream connection is + # established successfully. + # + # To signal events, you can call the #signal methods from an Aws::TranscribeStreamingService::EventStreams::AudioStream + # object. You must signal events before calling #wait or #join! on the async response. + # + # input_stream = Aws::TranscribeStreamingService::EventStreams::AudioStream.new + # + # async_resp = client.start_stream_transcription( + # # params input + # input_event_stream_handler: input_stream) do |out_stream| + # + # # register callbacks for events + # out_stream.on_transcript_event_event do |event| + # event # => Aws::TranscribeStreamingService::Types::TranscriptEvent + # end + # out_stream.on_bad_request_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::BadRequestException + # end + # out_stream.on_limit_exceeded_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::LimitExceededException + # end + # out_stream.on_internal_failure_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::InternalFailureException + # end + # out_stream.on_conflict_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::ConflictException + # end + # out_stream.on_service_unavailable_exception_event do |event| + # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException + # end + # + # end + # # => Aws::Seahorse::Client::AsyncResponse + # + # # signal events + # input_stream.signal_audio_event_event( ... ) + # input_stream.signal_configuration_event_event( ... ) + # + # # make sure to signal :end_stream at the end + # input_stream.signal_end_stream + # + # # wait until stream is closed before finalizing the sync response + # resp = async_resp.wait + # # Or close the stream and finalize sync response immediately + # # resp = async_resp.join! + # + # You can also provide an Aws::TranscribeStreamingService::EventStreams::TranscriptResultStream object to register callbacks + # before initializing the request instead of processing from the request block. + # + # output_stream = Aws::TranscribeStreamingService::EventStreams::TranscriptResultStream.new + # # register callbacks for output events + # output_stream.on_transcript_event_event do |event| # event # => Aws::TranscribeStreamingService::Types::TranscriptEvent # end - # out_stream.on_bad_request_exception_event do |event| + # output_stream.on_bad_request_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::BadRequestException # end - # out_stream.on_limit_exceeded_exception_event do |event| + # output_stream.on_limit_exceeded_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::LimitExceededException # end - # out_stream.on_internal_failure_exception_event do |event| + # output_stream.on_internal_failure_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::InternalFailureException # end - # out_stream.on_conflict_exception_event do |event| + # output_stream.on_conflict_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::ConflictException # end - # out_stream.on_service_unavailable_exception_event do |event| + # output_stream.on_service_unavailable_exception_event do |event| # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException # end - # end - # # => Aws::Seahorse::Client::AsyncResponse - # - # # signal events - # input_stream.signal_audio_event_event( - # # ... - # ) - # input_stream.signal_configuration_event_event( - # # ... - # ) - # - # # make sure to signal :end_stream at the end - # input_stream.signal_end_stream - # - # # wait until stream is closed before finalizing the sync response - # resp = async_resp.wait - # - # # Or close the stream and finalize sync response immediately - # resp = async_resp.join! - # - # # You can also provide an Aws::TranscribeStreamingService::EventStreams::TranscriptResultStream object - # # to register callbacks before initializing the request instead of processing - # # from the request block. - # output_stream = Aws::TranscribeStreamingService::EventStreams::TranscriptResultStream.new - # - # # register callbacks for output events - # output_stream.on_transcript_event_event do |event| - # event # => Aws::TranscribeStreamingService::Types::TranscriptEvent - # end - # output_stream.on_bad_request_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::BadRequestException - # end - # output_stream.on_limit_exceeded_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::LimitExceededException - # end - # output_stream.on_internal_failure_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::InternalFailureException - # end - # output_stream.on_conflict_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::ConflictException - # end - # output_stream.on_service_unavailable_exception_event do |event| - # event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException - # end - # output_stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # async_resp = client.start_stream_transcription( - # # params input - # input_event_stream_handler: input_stream, - # output_event_stream_handler: output_stream - # ) - # resp = async_resp.join! - # - # # You can also iterate through events after the response is complete. - # # Events are available at - # resp.transcript_result_stream # => Enumerator + # output_stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # async_resp = client.start_stream_transcription ( + # # params input + # input_event_stream_handler: input_stream + # output_event_stream_handler: output_stream + # ) + # + # resp = async_resp.join! + # + # You can also iterate through events after the response is complete. + # + # Events are available at resp.transcript_result_stream # => Enumerator # # @example Request syntax with placeholder values # @@ -1968,11 +1935,11 @@ def start_medical_stream_transcription(params = {}, options = {}, &block) # resp.media_encoding #=> String, one of "pcm", "ogg-opus", "flac" # resp.vocabulary_name #=> String # resp.session_id #=> String - # # All events are available at resp.transcript_result_stream: + # All events are available at resp.transcript_result_stream: # resp.transcript_result_stream #=> Enumerator # resp.transcript_result_stream.event_types #=> [:transcript_event, :bad_request_exception, :limit_exceeded_exception, :internal_failure_exception, :conflict_exception, :service_unavailable_exception] # - # # For :transcript_event event available at #on_transcript_event_event callback and response eventstream enumerator: + # For :transcript_event event available at #on_transcript_event_event callback and response eventstream enumerator: # event.transcript.results #=> Array # event.transcript.results[0].result_id #=> String # event.transcript.results[0].start_time #=> Float @@ -2002,19 +1969,19 @@ def start_medical_stream_transcription(params = {}, options = {}, &block) # event.transcript.results[0].language_identification[0].language_code #=> String, one of "en-US", "en-GB", "es-US", "fr-CA", "fr-FR", "en-AU", "it-IT", "de-DE", "pt-BR", "ja-JP", "ko-KR", "zh-CN", "th-TH", "es-ES", "ar-SA", "pt-PT", "ca-ES", "ar-AE", "hi-IN", "zh-HK", "nl-NL", "no-NO", "sv-SE", "pl-PL", "fi-FI", "zh-TW", "en-IN", "en-IE", "en-NZ", "en-AB", "en-ZA", "en-WL", "de-CH", "af-ZA", "eu-ES", "hr-HR", "cs-CZ", "da-DK", "fa-IR", "gl-ES", "el-GR", "he-IL", "id-ID", "lv-LV", "ms-MY", "ro-RO", "ru-RU", "sr-RS", "sk-SK", "so-SO", "tl-PH", "uk-UA", "vi-VN", "zu-ZA" # event.transcript.results[0].language_identification[0].score #=> Float # - # # For :bad_request_exception event available at #on_bad_request_exception_event callback and response eventstream enumerator: + # For :bad_request_exception event available at #on_bad_request_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :limit_exceeded_exception event available at #on_limit_exceeded_exception_event callback and response eventstream enumerator: + # For :limit_exceeded_exception event available at #on_limit_exceeded_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: + # For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: + # For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: + # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: # event.message #=> String # # resp.vocabulary_filter_name #=> String diff --git a/gems/aws-sdk-transcribestreamingservice/sig/async_client.rbs b/gems/aws-sdk-transcribestreamingservice/sig/async_client.rbs deleted file mode 100644 index 796c1bdf83a..00000000000 --- a/gems/aws-sdk-transcribestreamingservice/sig/async_client.rbs +++ /dev/null @@ -1,214 +0,0 @@ -# WARNING ABOUT GENERATED CODE -# -# This file is generated. See the contributing guide for more information: -# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md -# -# WARNING ABOUT GENERATED CODE - -module Aws - module TranscribeStreamingService - class AsyncClient < ::Seahorse::Client::AsyncBase - include ::Aws::AsyncClientStubs - - # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/TranscribeStreamingService/AsyncClient.html#initialize-instance_method - def self.new: ( - ?credentials: untyped, - ?region: String, - ?access_key_id: String, - ?account_id: String, - ?adaptive_retry_wait_to_fill: bool, - ?convert_params: bool, - ?correct_clock_skew: bool, - ?defaults_mode: String, - ?disable_request_compression: bool, - ?endpoint: String, - ?event_stream_handler: Proc, - ?ignore_configured_endpoint_urls: bool, - ?input_event_stream_handler: Proc, - ?log_formatter: untyped, - ?log_level: Symbol, - ?logger: untyped, - ?max_attempts: Integer, - ?output_event_stream_handler: Proc, - ?profile: String, - ?request_checksum_calculation: String, - ?request_min_compression_size_bytes: Integer, - ?response_checksum_validation: String, - ?retry_backoff: Proc, - ?retry_base_delay: Float, - ?retry_jitter: (:none | :equal | :full | ^(Integer) -> Integer), - ?retry_limit: Integer, - ?retry_max_delay: Integer, - ?retry_mode: ("legacy" | "standard" | "adaptive"), - ?sdk_ua_app_id: String, - ?secret_access_key: String, - ?session_token: String, - ?sigv4a_signing_region_set: Array[String], - ?stub_responses: untyped, - ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, - ?token_provider: untyped, - ?use_dualstack_endpoint: bool, - ?use_fips_endpoint: bool, - ?validate_params: bool, - ?endpoint_provider: untyped, - ?connection_read_timeout: (Float | Integer), - ?connection_timeout: (Float | Integer), - ?enable_alpn: bool, - ?max_concurrent_streams: (Float | Integer), - ?read_chunk_size: (Float | Integer), - ?http_wire_trace: bool, - ?ssl_verify_peer: bool, - ?ssl_ca_bundle: String, - ?ssl_ca_directory: String, - ?ssl_ca_store: String, - ?raise_response_errors: bool - ) -> instance - | (?Hash[Symbol, untyped]) -> instance - - - interface _StartCallAnalyticsStreamTranscriptionResponseSuccess - include ::Seahorse::Client::_ResponseSuccess[Types::StartCallAnalyticsStreamTranscriptionResponse] - def request_id: () -> ::String - def language_code: () -> ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR") - def media_sample_rate_hertz: () -> ::Integer - def media_encoding: () -> ("pcm" | "ogg-opus" | "flac") - def vocabulary_name: () -> ::String - def session_id: () -> ::String - def call_analytics_transcript_result_stream: () -> Types::CallAnalyticsTranscriptResultStream - def vocabulary_filter_name: () -> ::String - def vocabulary_filter_method: () -> ("remove" | "mask" | "tag") - def language_model_name: () -> ::String - def enable_partial_results_stabilization: () -> bool - def partial_results_stability: () -> ("high" | "medium" | "low") - def content_identification_type: () -> ("PII") - def content_redaction_type: () -> ("PII") - def pii_entity_types: () -> ::String - end - # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/TranscribeStreamingService/AsyncClient.html#start_call_analytics_stream_transcription-instance_method - def start_call_analytics_stream_transcription: ( - language_code: ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR"), - media_sample_rate_hertz: ::Integer, - media_encoding: ("pcm" | "ogg-opus" | "flac"), - ?vocabulary_name: ::String, - ?session_id: ::String, - input_event_stream_hander: untyped, - ?vocabulary_filter_name: ::String, - ?vocabulary_filter_method: ("remove" | "mask" | "tag"), - ?language_model_name: ::String, - ?enable_partial_results_stabilization: bool, - ?partial_results_stability: ("high" | "medium" | "low"), - ?content_identification_type: ("PII"), - ?content_redaction_type: ("PII"), - ?pii_entity_types: ::String - ) ?{ (*untyped) -> void } -> _StartCallAnalyticsStreamTranscriptionResponseSuccess - | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _StartCallAnalyticsStreamTranscriptionResponseSuccess - - interface _StartMedicalScribeStreamResponseSuccess - include ::Seahorse::Client::_ResponseSuccess[Types::StartMedicalScribeStreamResponse] - def session_id: () -> ::String - def request_id: () -> ::String - def language_code: () -> ("en-US") - def media_sample_rate_hertz: () -> ::Integer - def media_encoding: () -> ("pcm" | "ogg-opus" | "flac") - def result_stream: () -> Types::MedicalScribeResultStream - end - # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/TranscribeStreamingService/AsyncClient.html#start_medical_scribe_stream-instance_method - def start_medical_scribe_stream: ( - ?session_id: ::String, - language_code: ("en-US"), - media_sample_rate_hertz: ::Integer, - media_encoding: ("pcm" | "ogg-opus" | "flac"), - input_event_stream_hander: untyped - ) ?{ (*untyped) -> void } -> _StartMedicalScribeStreamResponseSuccess - | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _StartMedicalScribeStreamResponseSuccess - - interface _StartMedicalStreamTranscriptionResponseSuccess - include ::Seahorse::Client::_ResponseSuccess[Types::StartMedicalStreamTranscriptionResponse] - def request_id: () -> ::String - def language_code: () -> ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA") - def media_sample_rate_hertz: () -> ::Integer - def media_encoding: () -> ("pcm" | "ogg-opus" | "flac") - def vocabulary_name: () -> ::String - def specialty: () -> ("PRIMARYCARE" | "CARDIOLOGY" | "NEUROLOGY" | "ONCOLOGY" | "RADIOLOGY" | "UROLOGY") - def type: () -> ("CONVERSATION" | "DICTATION") - def show_speaker_label: () -> bool - def session_id: () -> ::String - def transcript_result_stream: () -> Types::MedicalTranscriptResultStream - def enable_channel_identification: () -> bool - def number_of_channels: () -> ::Integer - def content_identification_type: () -> ("PHI") - end - # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/TranscribeStreamingService/AsyncClient.html#start_medical_stream_transcription-instance_method - def start_medical_stream_transcription: ( - language_code: ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA"), - media_sample_rate_hertz: ::Integer, - media_encoding: ("pcm" | "ogg-opus" | "flac"), - ?vocabulary_name: ::String, - specialty: ("PRIMARYCARE" | "CARDIOLOGY" | "NEUROLOGY" | "ONCOLOGY" | "RADIOLOGY" | "UROLOGY"), - type: ("CONVERSATION" | "DICTATION"), - ?show_speaker_label: bool, - ?session_id: ::String, - input_event_stream_hander: untyped, - ?enable_channel_identification: bool, - ?number_of_channels: ::Integer, - ?content_identification_type: ("PHI") - ) ?{ (*untyped) -> void } -> _StartMedicalStreamTranscriptionResponseSuccess - | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _StartMedicalStreamTranscriptionResponseSuccess - - interface _StartStreamTranscriptionResponseSuccess - include ::Seahorse::Client::_ResponseSuccess[Types::StartStreamTranscriptionResponse] - def request_id: () -> ::String - def language_code: () -> ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA") - def media_sample_rate_hertz: () -> ::Integer - def media_encoding: () -> ("pcm" | "ogg-opus" | "flac") - def vocabulary_name: () -> ::String - def session_id: () -> ::String - def transcript_result_stream: () -> Types::TranscriptResultStream - def vocabulary_filter_name: () -> ::String - def vocabulary_filter_method: () -> ("remove" | "mask" | "tag") - def show_speaker_label: () -> bool - def enable_channel_identification: () -> bool - def number_of_channels: () -> ::Integer - def enable_partial_results_stabilization: () -> bool - def partial_results_stability: () -> ("high" | "medium" | "low") - def content_identification_type: () -> ("PII") - def content_redaction_type: () -> ("PII") - def pii_entity_types: () -> ::String - def language_model_name: () -> ::String - def identify_language: () -> bool - def language_options: () -> ::String - def preferred_language: () -> ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA") - def identify_multiple_languages: () -> bool - def vocabulary_names: () -> ::String - def vocabulary_filter_names: () -> ::String - end - # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/TranscribeStreamingService/AsyncClient.html#start_stream_transcription-instance_method - def start_stream_transcription: ( - ?language_code: ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA"), - media_sample_rate_hertz: ::Integer, - media_encoding: ("pcm" | "ogg-opus" | "flac"), - ?vocabulary_name: ::String, - ?session_id: ::String, - input_event_stream_hander: untyped, - ?vocabulary_filter_name: ::String, - ?vocabulary_filter_method: ("remove" | "mask" | "tag"), - ?show_speaker_label: bool, - ?enable_channel_identification: bool, - ?number_of_channels: ::Integer, - ?enable_partial_results_stabilization: bool, - ?partial_results_stability: ("high" | "medium" | "low"), - ?content_identification_type: ("PII"), - ?content_redaction_type: ("PII"), - ?pii_entity_types: ::String, - ?language_model_name: ::String, - ?identify_language: bool, - ?language_options: ::String, - ?preferred_language: ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA"), - ?identify_multiple_languages: bool, - ?vocabulary_names: ::String, - ?vocabulary_filter_names: ::String - ) ?{ (*untyped) -> void } -> _StartStreamTranscriptionResponseSuccess - | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _StartStreamTranscriptionResponseSuccess - end - end -end \ No newline at end of file diff --git a/gems/aws-sdk-transcribestreamingservice/sig/client.rbs b/gems/aws-sdk-transcribestreamingservice/sig/client.rbs index ee0bd4f9d48..ccfeac439b7 100644 --- a/gems/aws-sdk-transcribestreamingservice/sig/client.rbs +++ b/gems/aws-sdk-transcribestreamingservice/sig/client.rbs @@ -89,6 +89,150 @@ module Aws session_id: ::String ) -> _GetMedicalScribeStreamResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetMedicalScribeStreamResponseSuccess + + interface _StartCallAnalyticsStreamTranscriptionResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::StartCallAnalyticsStreamTranscriptionResponse] + def request_id: () -> ::String + def language_code: () -> ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR") + def media_sample_rate_hertz: () -> ::Integer + def media_encoding: () -> ("pcm" | "ogg-opus" | "flac") + def vocabulary_name: () -> ::String + def session_id: () -> ::String + def call_analytics_transcript_result_stream: () -> Types::CallAnalyticsTranscriptResultStream + def vocabulary_filter_name: () -> ::String + def vocabulary_filter_method: () -> ("remove" | "mask" | "tag") + def language_model_name: () -> ::String + def enable_partial_results_stabilization: () -> bool + def partial_results_stability: () -> ("high" | "medium" | "low") + def content_identification_type: () -> ("PII") + def content_redaction_type: () -> ("PII") + def pii_entity_types: () -> ::String + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/TranscribeStreamingService/Client.html#start_call_analytics_stream_transcription-instance_method + def start_call_analytics_stream_transcription: ( + language_code: ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR"), + media_sample_rate_hertz: ::Integer, + media_encoding: ("pcm" | "ogg-opus" | "flac"), + ?vocabulary_name: ::String, + ?session_id: ::String, + input_event_stream_hander: untyped, + ?vocabulary_filter_name: ::String, + ?vocabulary_filter_method: ("remove" | "mask" | "tag"), + ?language_model_name: ::String, + ?enable_partial_results_stabilization: bool, + ?partial_results_stability: ("high" | "medium" | "low"), + ?content_identification_type: ("PII"), + ?content_redaction_type: ("PII"), + ?pii_entity_types: ::String + ) ?{ (*untyped) -> void } -> _StartCallAnalyticsStreamTranscriptionResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _StartCallAnalyticsStreamTranscriptionResponseSuccess + + interface _StartMedicalScribeStreamResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::StartMedicalScribeStreamResponse] + def session_id: () -> ::String + def request_id: () -> ::String + def language_code: () -> ("en-US") + def media_sample_rate_hertz: () -> ::Integer + def media_encoding: () -> ("pcm" | "ogg-opus" | "flac") + def result_stream: () -> Types::MedicalScribeResultStream + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/TranscribeStreamingService/Client.html#start_medical_scribe_stream-instance_method + def start_medical_scribe_stream: ( + ?session_id: ::String, + language_code: ("en-US"), + media_sample_rate_hertz: ::Integer, + media_encoding: ("pcm" | "ogg-opus" | "flac"), + input_event_stream_hander: untyped + ) ?{ (*untyped) -> void } -> _StartMedicalScribeStreamResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _StartMedicalScribeStreamResponseSuccess + + interface _StartMedicalStreamTranscriptionResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::StartMedicalStreamTranscriptionResponse] + def request_id: () -> ::String + def language_code: () -> ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA") + def media_sample_rate_hertz: () -> ::Integer + def media_encoding: () -> ("pcm" | "ogg-opus" | "flac") + def vocabulary_name: () -> ::String + def specialty: () -> ("PRIMARYCARE" | "CARDIOLOGY" | "NEUROLOGY" | "ONCOLOGY" | "RADIOLOGY" | "UROLOGY") + def type: () -> ("CONVERSATION" | "DICTATION") + def show_speaker_label: () -> bool + def session_id: () -> ::String + def transcript_result_stream: () -> Types::MedicalTranscriptResultStream + def enable_channel_identification: () -> bool + def number_of_channels: () -> ::Integer + def content_identification_type: () -> ("PHI") + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/TranscribeStreamingService/Client.html#start_medical_stream_transcription-instance_method + def start_medical_stream_transcription: ( + language_code: ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA"), + media_sample_rate_hertz: ::Integer, + media_encoding: ("pcm" | "ogg-opus" | "flac"), + ?vocabulary_name: ::String, + specialty: ("PRIMARYCARE" | "CARDIOLOGY" | "NEUROLOGY" | "ONCOLOGY" | "RADIOLOGY" | "UROLOGY"), + type: ("CONVERSATION" | "DICTATION"), + ?show_speaker_label: bool, + ?session_id: ::String, + input_event_stream_hander: untyped, + ?enable_channel_identification: bool, + ?number_of_channels: ::Integer, + ?content_identification_type: ("PHI") + ) ?{ (*untyped) -> void } -> _StartMedicalStreamTranscriptionResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _StartMedicalStreamTranscriptionResponseSuccess + + interface _StartStreamTranscriptionResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::StartStreamTranscriptionResponse] + def request_id: () -> ::String + def language_code: () -> ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA") + def media_sample_rate_hertz: () -> ::Integer + def media_encoding: () -> ("pcm" | "ogg-opus" | "flac") + def vocabulary_name: () -> ::String + def session_id: () -> ::String + def transcript_result_stream: () -> Types::TranscriptResultStream + def vocabulary_filter_name: () -> ::String + def vocabulary_filter_method: () -> ("remove" | "mask" | "tag") + def show_speaker_label: () -> bool + def enable_channel_identification: () -> bool + def number_of_channels: () -> ::Integer + def enable_partial_results_stabilization: () -> bool + def partial_results_stability: () -> ("high" | "medium" | "low") + def content_identification_type: () -> ("PII") + def content_redaction_type: () -> ("PII") + def pii_entity_types: () -> ::String + def language_model_name: () -> ::String + def identify_language: () -> bool + def language_options: () -> ::String + def preferred_language: () -> ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA") + def identify_multiple_languages: () -> bool + def vocabulary_names: () -> ::String + def vocabulary_filter_names: () -> ::String + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/TranscribeStreamingService/Client.html#start_stream_transcription-instance_method + def start_stream_transcription: ( + ?language_code: ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA"), + media_sample_rate_hertz: ::Integer, + media_encoding: ("pcm" | "ogg-opus" | "flac"), + ?vocabulary_name: ::String, + ?session_id: ::String, + input_event_stream_hander: untyped, + ?vocabulary_filter_name: ::String, + ?vocabulary_filter_method: ("remove" | "mask" | "tag"), + ?show_speaker_label: bool, + ?enable_channel_identification: bool, + ?number_of_channels: ::Integer, + ?enable_partial_results_stabilization: bool, + ?partial_results_stability: ("high" | "medium" | "low"), + ?content_identification_type: ("PII"), + ?content_redaction_type: ("PII"), + ?pii_entity_types: ::String, + ?language_model_name: ::String, + ?identify_language: bool, + ?language_options: ::String, + ?preferred_language: ("en-US" | "en-GB" | "es-US" | "fr-CA" | "fr-FR" | "en-AU" | "it-IT" | "de-DE" | "pt-BR" | "ja-JP" | "ko-KR" | "zh-CN" | "th-TH" | "es-ES" | "ar-SA" | "pt-PT" | "ca-ES" | "ar-AE" | "hi-IN" | "zh-HK" | "nl-NL" | "no-NO" | "sv-SE" | "pl-PL" | "fi-FI" | "zh-TW" | "en-IN" | "en-IE" | "en-NZ" | "en-AB" | "en-ZA" | "en-WL" | "de-CH" | "af-ZA" | "eu-ES" | "hr-HR" | "cs-CZ" | "da-DK" | "fa-IR" | "gl-ES" | "el-GR" | "he-IL" | "id-ID" | "lv-LV" | "ms-MY" | "ro-RO" | "ru-RU" | "sr-RS" | "sk-SK" | "so-SO" | "tl-PH" | "uk-UA" | "vi-VN" | "zu-ZA"), + ?identify_multiple_languages: bool, + ?vocabulary_names: ::String, + ?vocabulary_filter_names: ::String + ) ?{ (*untyped) -> void } -> _StartStreamTranscriptionResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _StartStreamTranscriptionResponseSuccess end end end From 65074667a16645185af656210d32c70eee41a3cb Mon Sep 17 00:00:00 2001 From: Juli Tera Date: Mon, 28 Apr 2025 08:24:58 -0700 Subject: [PATCH 22/22] Revert "Example codegenerated service" This reverts commit 385c38fc9d4b5553ad50622129beeec04a077b49. --- .../aws-sdk-bedrockruntime/async_client.rb | 246 ++++--- .../lib/aws-sdk-bedrockruntime/client.rb | 640 +++++++++--------- .../sig/async_client.rbs | 81 --- gems/aws-sdk-bedrockruntime/sig/client.rbs | 13 +- gems/aws-sdk-bedrockruntime/sig/resource.rbs | 2 +- gems/aws-sdk-s3/lib/aws-sdk-s3/client.rb | 226 +++---- gems/aws-sdk-s3/sig/client.rbs | 2 +- gems/aws-sdk-s3/sig/resource.rbs | 2 +- 8 files changed, 552 insertions(+), 660 deletions(-) delete mode 100644 gems/aws-sdk-bedrockruntime/sig/async_client.rbs diff --git a/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/async_client.rb b/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/async_client.rb index 28510f8dacb..a502b5f872b 100644 --- a/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/async_client.rb +++ b/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/async_client.rb @@ -10,44 +10,32 @@ begin require 'http/2' rescue LoadError; end -require 'aws-sdk-core/plugins/credentials_configuration' -require 'aws-sdk-core/plugins/logging' -require 'aws-sdk-core/plugins/param_converter' -require 'aws-sdk-core/plugins/param_validator' -require 'aws-sdk-core/plugins/user_agent' -require 'aws-sdk-core/plugins/helpful_socket_errors' -require 'aws-sdk-core/plugins/retry_errors' -require 'aws-sdk-core/plugins/global_configuration' -require 'aws-sdk-core/plugins/regional_endpoint' -require 'aws-sdk-core/plugins/stub_responses' -require 'aws-sdk-core/plugins/idempotency_token' -require 'aws-sdk-core/plugins/invocation_id' -require 'aws-sdk-core/plugins/jsonvalue_converter' -require 'aws-sdk-core/plugins/http_checksum' -require 'aws-sdk-core/plugins/checksum_algorithm' -require 'aws-sdk-core/plugins/request_compression' -require 'aws-sdk-core/plugins/defaults_mode' -require 'aws-sdk-core/plugins/recursion_detection' -require 'aws-sdk-core/plugins/telemetry' -require 'aws-sdk-core/plugins/sign' -require 'aws-sdk-core/plugins/protocols/rest_json' -require 'aws-sdk-core/plugins/event_stream_configuration' +require 'aws-sdk-core/plugins/credentials_configuration.rb' +require 'aws-sdk-core/plugins/logging.rb' +require 'aws-sdk-core/plugins/param_converter.rb' +require 'aws-sdk-core/plugins/param_validator.rb' +require 'aws-sdk-core/plugins/user_agent.rb' +require 'aws-sdk-core/plugins/helpful_socket_errors.rb' +require 'aws-sdk-core/plugins/retry_errors.rb' +require 'aws-sdk-core/plugins/global_configuration.rb' +require 'aws-sdk-core/plugins/regional_endpoint.rb' +require 'aws-sdk-core/plugins/stub_responses.rb' +require 'aws-sdk-core/plugins/idempotency_token.rb' +require 'aws-sdk-core/plugins/invocation_id.rb' +require 'aws-sdk-core/plugins/jsonvalue_converter.rb' +require 'aws-sdk-core/plugins/http_checksum.rb' +require 'aws-sdk-core/plugins/checksum_algorithm.rb' +require 'aws-sdk-core/plugins/request_compression.rb' +require 'aws-sdk-core/plugins/defaults_mode.rb' +require 'aws-sdk-core/plugins/recursion_detection.rb' +require 'aws-sdk-core/plugins/telemetry.rb' +require 'aws-sdk-core/plugins/sign.rb' +require 'aws-sdk-core/plugins/protocols/rest_json.rb' +require 'aws-sdk-core/plugins/event_stream_configuration.rb' Aws::Plugins::GlobalConfiguration.add_identifier(:bedrockruntime) module Aws::BedrockRuntime - # An API async client for BedrockRuntime. To construct an async client, you need to configure a `:region` and `:credentials`. - # - # async_client = Aws::BedrockRuntime::AsyncClient.new( - # region: region_name, - # credentials: credentials, - # # ... - # ) - # - # For details on configuring region and credentials see - # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html). - # - # See {#initialize} for a full list of supported configuration options. class AsyncClient < Seahorse::Client::AsyncBase include Aws::AsyncClientStubs @@ -80,13 +68,6 @@ class AsyncClient < Seahorse::Client::AsyncBase add_plugin(Aws::Plugins::EventStreamConfiguration) add_plugin(Aws::BedrockRuntime::Plugins::Endpoints) - # @overload initialize(options) - # @param [Hash] options - # - # @option options [Array] :plugins ([]]) - # A list of plugins to apply to the client. Each plugin is either a - # class name or an instance of a plugin class. - # # @option options [required, Aws::CredentialProvider] :credentials # Your AWS credentials. This can be an instance of any one of the # following classes: @@ -425,104 +406,103 @@ def initialize(*args) # * {Types::InvokeModelWithBidirectionalStreamResponse#body #body} => Types::InvokeModelWithBidirectionalStreamOutput # # @example Bi-directional EventStream Operation Example - # # You can signal input events after the initial request is established. Events - # # will be sent to the stream immediately once the stream connection is - # # established successfully. - # - # # To signal events, you can call the #signal methods from an - # # Aws::BedrockRuntime::EventStreams::InvokeModelWithBidirectionalStreamInput object. - # # You must signal events before calling #wait or #join! on the async response. - # input_stream = Aws::BedrockRuntime::EventStreams::InvokeModelWithBidirectionalStreamInput.new - # - # async_resp = client.invoke_model_with_bidirectional_stream( - # # params input - # input_event_stream_handler: input_stream - # ) do |out_stream| - # # register callbacks for events - # out_stream.on_chunk_event do |event| + # + # You can signal input events after the initial request is established. Events + # will be sent to the stream immediately once the stream connection is + # established successfully. + # + # To signal events, you can call the #signal methods from an Aws::BedrockRuntime::EventStreams::InvokeModelWithBidirectionalStreamInput + # object. You must signal events before calling #wait or #join! on the async response. + # + # input_stream = Aws::BedrockRuntime::EventStreams::InvokeModelWithBidirectionalStreamInput.new + # + # async_resp = client.invoke_model_with_bidirectional_stream( + # # params input + # input_event_stream_handler: input_stream) do |out_stream| + # + # # register callbacks for events + # out_stream.on_chunk_event do |event| + # event # => Aws::BedrockRuntime::Types::chunk + # end + # out_stream.on_internal_server_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::internalServerException + # end + # out_stream.on_model_stream_error_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::modelStreamErrorException + # end + # out_stream.on_validation_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::validationException + # end + # out_stream.on_throttling_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::throttlingException + # end + # out_stream.on_model_timeout_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::modelTimeoutException + # end + # out_stream.on_service_unavailable_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::serviceUnavailableException + # end + # + # end + # # => Aws::Seahorse::Client::AsyncResponse + # + # # signal events + # input_stream.signal_chunk_event( ... ) + # + # # make sure to signal :end_stream at the end + # input_stream.signal_end_stream + # + # # wait until stream is closed before finalizing the sync response + # resp = async_resp.wait + # # Or close the stream and finalize sync response immediately + # # resp = async_resp.join! + # + # You can also provide an Aws::BedrockRuntime::EventStreams::InvokeModelWithBidirectionalStreamOutput object to register callbacks + # before initializing the request instead of processing from the request block. + # + # output_stream = Aws::BedrockRuntime::EventStreams::InvokeModelWithBidirectionalStreamOutput.new + # # register callbacks for output events + # output_stream.on_chunk_event do |event| # event # => Aws::BedrockRuntime::Types::chunk # end - # out_stream.on_internal_server_exception_event do |event| + # output_stream.on_internal_server_exception_event do |event| # event # => Aws::BedrockRuntime::Types::internalServerException # end - # out_stream.on_model_stream_error_exception_event do |event| + # output_stream.on_model_stream_error_exception_event do |event| # event # => Aws::BedrockRuntime::Types::modelStreamErrorException # end - # out_stream.on_validation_exception_event do |event| + # output_stream.on_validation_exception_event do |event| # event # => Aws::BedrockRuntime::Types::validationException # end - # out_stream.on_throttling_exception_event do |event| + # output_stream.on_throttling_exception_event do |event| # event # => Aws::BedrockRuntime::Types::throttlingException # end - # out_stream.on_model_timeout_exception_event do |event| + # output_stream.on_model_timeout_exception_event do |event| # event # => Aws::BedrockRuntime::Types::modelTimeoutException # end - # out_stream.on_service_unavailable_exception_event do |event| + # output_stream.on_service_unavailable_exception_event do |event| # event # => Aws::BedrockRuntime::Types::serviceUnavailableException # end - # end - # # => Aws::Seahorse::Client::AsyncResponse - # - # # signal events - # input_stream.signal_chunk_event( - # # ... - # ) - # - # # make sure to signal :end_stream at the end - # input_stream.signal_end_stream - # - # # wait until stream is closed before finalizing the sync response - # resp = async_resp.wait - # - # # Or close the stream and finalize sync response immediately - # resp = async_resp.join! - # - # # You can also provide an Aws::BedrockRuntime::EventStreams::InvokeModelWithBidirectionalStreamOutput object - # # to register callbacks before initializing the request instead of processing - # # from the request block. - # output_stream = Aws::BedrockRuntime::EventStreams::InvokeModelWithBidirectionalStreamOutput.new - # - # # register callbacks for output events - # output_stream.on_chunk_event do |event| - # event # => Aws::BedrockRuntime::Types::chunk - # end - # output_stream.on_internal_server_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::internalServerException - # end - # output_stream.on_model_stream_error_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::modelStreamErrorException - # end - # output_stream.on_validation_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::validationException - # end - # output_stream.on_throttling_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::throttlingException - # end - # output_stream.on_model_timeout_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::modelTimeoutException - # end - # output_stream.on_service_unavailable_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::serviceUnavailableException - # end - # output_stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end - # - # async_resp = client.invoke_model_with_bidirectional_stream( - # # params input - # input_event_stream_handler: input_stream, - # output_event_stream_handler: output_stream - # ) - # resp = async_resp.join! - # - # # You can also iterate through events after the response is complete. - # # Events are available at - # resp.body # => Enumerator + # output_stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # async_resp = client.invoke_model_with_bidirectional_stream ( + # # params input + # input_event_stream_handler: input_stream + # output_event_stream_handler: output_stream + # ) + # + # resp = async_resp.join! + # + # You can also iterate through events after the response is complete. + # + # Events are available at resp.body # => Enumerator # # @example Request syntax with placeholder values # @@ -537,31 +517,31 @@ def initialize(*args) # # @example Response structure # - # # All events are available at resp.body: + # All events are available at resp.body: # resp.body #=> Enumerator # resp.body.event_types #=> [:chunk, :internal_server_exception, :model_stream_error_exception, :validation_exception, :throttling_exception, :model_timeout_exception, :service_unavailable_exception] # - # # For :chunk event available at #on_chunk_event callback and response eventstream enumerator: + # For :chunk event available at #on_chunk_event callback and response eventstream enumerator: # event.bytes #=> String # - # # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: + # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :model_stream_error_exception event available at #on_model_stream_error_exception_event callback and response eventstream enumerator: + # For :model_stream_error_exception event available at #on_model_stream_error_exception_event callback and response eventstream enumerator: # event.message #=> String # event.original_status_code #=> Integer # event.original_message #=> String # - # # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: + # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: + # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :model_timeout_exception event available at #on_model_timeout_exception_event callback and response eventstream enumerator: + # For :model_timeout_exception event available at #on_model_timeout_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: + # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: # event.message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/InvokeModelWithBidirectionalStream AWS API Documentation diff --git a/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/client.rb b/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/client.rb index 5d657c7aab0..c65aeaa9ad2 100644 --- a/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/client.rb +++ b/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/client.rb @@ -1326,182 +1326,176 @@ def converse(params = {}, options = {}) # # @example EventStream Operation Example # - # # You can process the event once it arrives immediately, or wait until the - # # full response is complete and iterate through the eventstream enumerator. - # - # # To interact with event immediately, you need to register converse_stream - # # with callbacks. Callbacks can be registered for specific events or for all - # # events, including error events. - # - # # Callbacks can be passed into the `:event_stream_handler` option or within a - # # block statement attached to the #converse_stream call directly. Hybrid - # # pattern of both is also supported. - # - # # `:event_stream_handler` option takes in either a Proc object or - # # Aws::BedrockRuntime::EventStreams::ConverseStreamOutput object. - # - # # Usage pattern a): Callbacks with a block attached to #converse_stream - # # Example for registering callbacks for all event types and an error event - # client.converse_stream( - # # params input - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # You can process the event once it arrives immediately, or wait until the + # full response is complete and iterate through the eventstream enumerator. + # + # To interact with event immediately, you need to register #converse_stream + # with callbacks. Callbacks can be registered for specific events or for all + # events, including error events. + # + # Callbacks can be passed into the `:event_stream_handler` option or within a + # block statement attached to the #converse_stream call directly. Hybrid + # pattern of both is also supported. + # + # `:event_stream_handler` option takes in either a Proc object or + # Aws::BedrockRuntime::EventStreams::ConverseStreamOutput object. + # + # Usage pattern a): Callbacks with a block attached to #converse_stream + # Example for registering callbacks for all event types and an error event + # + # client.converse_stream( # params input# ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # ... + # end # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # # ... - # end - # end - # - # # Usage pattern b): Pass in `:event_stream_handler` for #converse_stream - # # 1) Create a Aws::BedrockRuntime::EventStreams::ConverseStreamOutput object - # # Example for registering callbacks with specific events - # - # handler = Aws::BedrockRuntime::EventStreams::ConverseStreamOutput.new - # handler.on_message_start_event do |event| - # event # => Aws::BedrockRuntime::Types::messageStart - # end - # handler.on_content_block_start_event do |event| - # event # => Aws::BedrockRuntime::Types::contentBlockStart - # end - # handler.on_content_block_delta_event do |event| - # event # => Aws::BedrockRuntime::Types::contentBlockDelta - # end - # handler.on_content_block_stop_event do |event| - # event # => Aws::BedrockRuntime::Types::contentBlockStop - # end - # handler.on_message_stop_event do |event| - # event # => Aws::BedrockRuntime::Types::messageStop - # end - # handler.on_metadata_event do |event| - # event # => Aws::BedrockRuntime::Types::metadata - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::internalServerException - # end - # handler.on_model_stream_error_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::modelStreamErrorException - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::validationException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::throttlingException - # end - # handler.on_service_unavailable_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::serviceUnavailableException - # end - # - # client.converse_stream( - # # params inputs - # event_stream_handler: handler - # ) - # - # # 2) Use a Ruby Proc object - # # Example for registering callbacks with specific events - # handler = Proc.new do |stream| - # stream.on_message_start_event do |event| - # event # => Aws::BedrockRuntime::Types::messageStart - # end - # stream.on_content_block_start_event do |event| - # event # => Aws::BedrockRuntime::Types::contentBlockStart - # end - # stream.on_content_block_delta_event do |event| - # event # => Aws::BedrockRuntime::Types::contentBlockDelta - # end - # stream.on_content_block_stop_event do |event| - # event # => Aws::BedrockRuntime::Types::contentBlockStop - # end - # stream.on_message_stop_event do |event| - # event # => Aws::BedrockRuntime::Types::messageStop - # end - # stream.on_metadata_event do |event| - # event # => Aws::BedrockRuntime::Types::metadata - # end - # stream.on_internal_server_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::internalServerException # end - # stream.on_model_stream_error_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::modelStreamErrorException - # end - # stream.on_validation_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::validationException - # end - # stream.on_throttling_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::throttlingException - # end - # stream.on_service_unavailable_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::serviceUnavailableException + # + # Usage pattern b): Pass in `:event_stream_handler` for #converse_stream + # + # 1) Create a Aws::BedrockRuntime::EventStreams::ConverseStreamOutput object + # Example for registering callbacks with specific events + # + # handler = Aws::BedrockRuntime::EventStreams::ConverseStreamOutput.new + # handler.on_message_start_event do |event| + # event # => Aws::BedrockRuntime::Types::messageStart + # end + # handler.on_content_block_start_event do |event| + # event # => Aws::BedrockRuntime::Types::contentBlockStart + # end + # handler.on_content_block_delta_event do |event| + # event # => Aws::BedrockRuntime::Types::contentBlockDelta + # end + # handler.on_content_block_stop_event do |event| + # event # => Aws::BedrockRuntime::Types::contentBlockStop + # end + # handler.on_message_stop_event do |event| + # event # => Aws::BedrockRuntime::Types::messageStop + # end + # handler.on_metadata_event do |event| + # event # => Aws::BedrockRuntime::Types::metadata + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::internalServerException + # end + # handler.on_model_stream_error_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::modelStreamErrorException + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::validationException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::throttlingException + # end + # handler.on_service_unavailable_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::serviceUnavailableException + # end + # + # client.converse_stream( # params input #, event_stream_handler: handler) + # + # 2) Use a Ruby Proc object + # Example for registering callbacks with specific events + # + # handler = Proc.new do |stream| + # stream.on_message_start_event do |event| + # event # => Aws::BedrockRuntime::Types::messageStart + # end + # stream.on_content_block_start_event do |event| + # event # => Aws::BedrockRuntime::Types::contentBlockStart + # end + # stream.on_content_block_delta_event do |event| + # event # => Aws::BedrockRuntime::Types::contentBlockDelta + # end + # stream.on_content_block_stop_event do |event| + # event # => Aws::BedrockRuntime::Types::contentBlockStop + # end + # stream.on_message_stop_event do |event| + # event # => Aws::BedrockRuntime::Types::messageStop + # end + # stream.on_metadata_event do |event| + # event # => Aws::BedrockRuntime::Types::metadata + # end + # stream.on_internal_server_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::internalServerException + # end + # stream.on_model_stream_error_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::modelStreamErrorException + # end + # stream.on_validation_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::validationException + # end + # stream.on_throttling_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::throttlingException + # end + # stream.on_service_unavailable_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::serviceUnavailableException + # end # end - # end - # - # client.converse_stream( - # # params inputs - # event_stream_handler: handler - # ) - # - # # Usage pattern c): Hybrid pattern of a) and b) - # handler = Aws::BedrockRuntime::EventStreams::ConverseStreamOutput.new - # handler.on_message_start_event do |event| - # event # => Aws::BedrockRuntime::Types::messageStart - # end - # handler.on_content_block_start_event do |event| - # event # => Aws::BedrockRuntime::Types::contentBlockStart - # end - # handler.on_content_block_delta_event do |event| - # event # => Aws::BedrockRuntime::Types::contentBlockDelta - # end - # handler.on_content_block_stop_event do |event| - # event # => Aws::BedrockRuntime::Types::contentBlockStop - # end - # handler.on_message_stop_event do |event| - # event # => Aws::BedrockRuntime::Types::messageStop - # end - # handler.on_metadata_event do |event| - # event # => Aws::BedrockRuntime::Types::metadata - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::internalServerException - # end - # handler.on_model_stream_error_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::modelStreamErrorException - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::validationException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::throttlingException - # end - # handler.on_service_unavailable_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::serviceUnavailableException - # end - # - # client.converse_stream( - # # params input - # event_stream_handler: handler - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String + # + # client.converse_stream( # params input #, event_stream_handler: handler) + # + # Usage pattern c): Hybrid pattern of a) and b) + # + # handler = Aws::BedrockRuntime::EventStreams::ConverseStreamOutput.new + # handler.on_message_start_event do |event| + # event # => Aws::BedrockRuntime::Types::messageStart + # end + # handler.on_content_block_start_event do |event| + # event # => Aws::BedrockRuntime::Types::contentBlockStart + # end + # handler.on_content_block_delta_event do |event| + # event # => Aws::BedrockRuntime::Types::contentBlockDelta + # end + # handler.on_content_block_stop_event do |event| + # event # => Aws::BedrockRuntime::Types::contentBlockStop + # end + # handler.on_message_stop_event do |event| + # event # => Aws::BedrockRuntime::Types::messageStop + # end + # handler.on_metadata_event do |event| + # event # => Aws::BedrockRuntime::Types::metadata + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::internalServerException + # end + # handler.on_model_stream_error_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::modelStreamErrorException + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::validationException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::throttlingException + # end + # handler.on_service_unavailable_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::serviceUnavailableException + # end + # + # client.converse_stream( # params input #, event_stream_handler: handler) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end # end - # end # - # # You can also iterate through events after the response complete. - # # Events are available at - # resp.stream # => Enumerator - # # For parameter input example, please refer to following request syntax. + # You can also iterate through events after the response complete. + # + # Events are available at resp.stream # => Enumerator + # For parameter input example, please refer to following request syntax # # @example Request syntax with placeholder values # @@ -1678,19 +1672,19 @@ def converse(params = {}, options = {}) # # @example Response structure # - # # All events are available at resp.stream: + # All events are available at resp.stream: # resp.stream #=> Enumerator # resp.stream.event_types #=> [:message_start, :content_block_start, :content_block_delta, :content_block_stop, :message_stop, :metadata, :internal_server_exception, :model_stream_error_exception, :validation_exception, :throttling_exception, :service_unavailable_exception] # - # # For :message_start event available at #on_message_start_event callback and response eventstream enumerator: + # For :message_start event available at #on_message_start_event callback and response eventstream enumerator: # event.role #=> String, one of "user", "assistant" # - # # For :content_block_start event available at #on_content_block_start_event callback and response eventstream enumerator: + # For :content_block_start event available at #on_content_block_start_event callback and response eventstream enumerator: # event.start.tool_use.tool_use_id #=> String # event.start.tool_use.name #=> String # event.content_block_index #=> Integer # - # # For :content_block_delta event available at #on_content_block_delta_event callback and response eventstream enumerator: + # For :content_block_delta event available at #on_content_block_delta_event callback and response eventstream enumerator: # event.delta.text #=> String # event.delta.tool_use.input #=> String # event.delta.reasoning_content.text #=> String @@ -1698,13 +1692,13 @@ def converse(params = {}, options = {}) # event.delta.reasoning_content.signature #=> String # event.content_block_index #=> Integer # - # # For :content_block_stop event available at #on_content_block_stop_event callback and response eventstream enumerator: + # For :content_block_stop event available at #on_content_block_stop_event callback and response eventstream enumerator: # event.content_block_index #=> Integer # - # # For :message_stop event available at #on_message_stop_event callback and response eventstream enumerator: + # For :message_stop event available at #on_message_stop_event callback and response eventstream enumerator: # event.stop_reason #=> String, one of "end_turn", "tool_use", "max_tokens", "stop_sequence", "guardrail_intervened", "content_filtered" # - # # For :metadata event available at #on_metadata_event callback and response eventstream enumerator: + # For :metadata event available at #on_metadata_event callback and response eventstream enumerator: # event.usage.input_tokens #=> Integer # event.usage.output_tokens #=> Integer # event.usage.total_tokens #=> Integer @@ -1818,21 +1812,21 @@ def converse(params = {}, options = {}) # event.trace.prompt_router.invoked_model_id #=> String # event.performance_config.latency #=> String, one of "standard", "optimized" # - # # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: + # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :model_stream_error_exception event available at #on_model_stream_error_exception_event callback and response eventstream enumerator: + # For :model_stream_error_exception event available at #on_model_stream_error_exception_event callback and response eventstream enumerator: # event.message #=> String # event.original_status_code #=> Integer # event.original_message #=> String # - # # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: + # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: + # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: + # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: # event.message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/ConverseStream AWS API Documentation @@ -2181,146 +2175,140 @@ def invoke_model(params = {}, options = {}) # # @example EventStream Operation Example # - # # You can process the event once it arrives immediately, or wait until the - # # full response is complete and iterate through the eventstream enumerator. - # - # # To interact with event immediately, you need to register invoke_model_with_response_stream - # # with callbacks. Callbacks can be registered for specific events or for all - # # events, including error events. - # - # # Callbacks can be passed into the `:event_stream_handler` option or within a - # # block statement attached to the #invoke_model_with_response_stream call directly. Hybrid - # # pattern of both is also supported. - # - # # `:event_stream_handler` option takes in either a Proc object or - # # Aws::BedrockRuntime::EventStreams::ResponseStream object. - # - # # Usage pattern a): Callbacks with a block attached to #invoke_model_with_response_stream - # # Example for registering callbacks for all event types and an error event - # client.invoke_model_with_response_stream( - # # params input - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # You can process the event once it arrives immediately, or wait until the + # full response is complete and iterate through the eventstream enumerator. + # + # To interact with event immediately, you need to register #invoke_model_with_response_stream + # with callbacks. Callbacks can be registered for specific events or for all + # events, including error events. + # + # Callbacks can be passed into the `:event_stream_handler` option or within a + # block statement attached to the #invoke_model_with_response_stream call directly. Hybrid + # pattern of both is also supported. + # + # `:event_stream_handler` option takes in either a Proc object or + # Aws::BedrockRuntime::EventStreams::ResponseStream object. + # + # Usage pattern a): Callbacks with a block attached to #invoke_model_with_response_stream + # Example for registering callbacks for all event types and an error event + # + # client.invoke_model_with_response_stream( # params input# ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # ... + # end # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # # ... - # end - # end - # - # # Usage pattern b): Pass in `:event_stream_handler` for #invoke_model_with_response_stream - # # 1) Create a Aws::BedrockRuntime::EventStreams::ResponseStream object - # # Example for registering callbacks with specific events - # - # handler = Aws::BedrockRuntime::EventStreams::ResponseStream.new - # handler.on_chunk_event do |event| - # event # => Aws::BedrockRuntime::Types::chunk - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::internalServerException - # end - # handler.on_model_stream_error_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::modelStreamErrorException - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::validationException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::throttlingException - # end - # handler.on_model_timeout_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::modelTimeoutException - # end - # handler.on_service_unavailable_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::serviceUnavailableException - # end - # - # client.invoke_model_with_response_stream( - # # params inputs - # event_stream_handler: handler - # ) - # - # # 2) Use a Ruby Proc object - # # Example for registering callbacks with specific events - # handler = Proc.new do |stream| - # stream.on_chunk_event do |event| - # event # => Aws::BedrockRuntime::Types::chunk - # end - # stream.on_internal_server_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::internalServerException - # end - # stream.on_model_stream_error_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::modelStreamErrorException - # end - # stream.on_validation_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::validationException - # end - # stream.on_throttling_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::throttlingException - # end - # stream.on_model_timeout_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::modelTimeoutException # end - # stream.on_service_unavailable_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::serviceUnavailableException + # + # Usage pattern b): Pass in `:event_stream_handler` for #invoke_model_with_response_stream + # + # 1) Create a Aws::BedrockRuntime::EventStreams::ResponseStream object + # Example for registering callbacks with specific events + # + # handler = Aws::BedrockRuntime::EventStreams::ResponseStream.new + # handler.on_chunk_event do |event| + # event # => Aws::BedrockRuntime::Types::chunk + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::internalServerException + # end + # handler.on_model_stream_error_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::modelStreamErrorException + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::validationException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::throttlingException + # end + # handler.on_model_timeout_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::modelTimeoutException + # end + # handler.on_service_unavailable_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::serviceUnavailableException + # end + # + # client.invoke_model_with_response_stream( # params input #, event_stream_handler: handler) + # + # 2) Use a Ruby Proc object + # Example for registering callbacks with specific events + # + # handler = Proc.new do |stream| + # stream.on_chunk_event do |event| + # event # => Aws::BedrockRuntime::Types::chunk + # end + # stream.on_internal_server_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::internalServerException + # end + # stream.on_model_stream_error_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::modelStreamErrorException + # end + # stream.on_validation_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::validationException + # end + # stream.on_throttling_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::throttlingException + # end + # stream.on_model_timeout_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::modelTimeoutException + # end + # stream.on_service_unavailable_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::serviceUnavailableException + # end # end - # end - # - # client.invoke_model_with_response_stream( - # # params inputs - # event_stream_handler: handler - # ) - # - # # Usage pattern c): Hybrid pattern of a) and b) - # handler = Aws::BedrockRuntime::EventStreams::ResponseStream.new - # handler.on_chunk_event do |event| - # event # => Aws::BedrockRuntime::Types::chunk - # end - # handler.on_internal_server_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::internalServerException - # end - # handler.on_model_stream_error_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::modelStreamErrorException - # end - # handler.on_validation_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::validationException - # end - # handler.on_throttling_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::throttlingException - # end - # handler.on_model_timeout_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::modelTimeoutException - # end - # handler.on_service_unavailable_exception_event do |event| - # event # => Aws::BedrockRuntime::Types::serviceUnavailableException - # end - # - # client.invoke_model_with_response_stream( - # # params input - # event_stream_handler: handler - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String + # + # client.invoke_model_with_response_stream( # params input #, event_stream_handler: handler) + # + # Usage pattern c): Hybrid pattern of a) and b) + # + # handler = Aws::BedrockRuntime::EventStreams::ResponseStream.new + # handler.on_chunk_event do |event| + # event # => Aws::BedrockRuntime::Types::chunk + # end + # handler.on_internal_server_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::internalServerException + # end + # handler.on_model_stream_error_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::modelStreamErrorException + # end + # handler.on_validation_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::validationException + # end + # handler.on_throttling_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::throttlingException + # end + # handler.on_model_timeout_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::modelTimeoutException + # end + # handler.on_service_unavailable_exception_event do |event| + # event # => Aws::BedrockRuntime::Types::serviceUnavailableException + # end + # + # client.invoke_model_with_response_stream( # params input #, event_stream_handler: handler) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end # end - # end # - # # You can also iterate through events after the response complete. - # # Events are available at - # resp.body # => Enumerator - # # For parameter input example, please refer to following request syntax. + # You can also iterate through events after the response complete. + # + # Events are available at resp.body # => Enumerator + # For parameter input example, please refer to following request syntax # # @example Request syntax with placeholder values # @@ -2337,31 +2325,31 @@ def invoke_model(params = {}, options = {}) # # @example Response structure # - # # All events are available at resp.body: + # All events are available at resp.body: # resp.body #=> Enumerator # resp.body.event_types #=> [:chunk, :internal_server_exception, :model_stream_error_exception, :validation_exception, :throttling_exception, :model_timeout_exception, :service_unavailable_exception] # - # # For :chunk event available at #on_chunk_event callback and response eventstream enumerator: + # For :chunk event available at #on_chunk_event callback and response eventstream enumerator: # event.bytes #=> String # - # # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: + # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :model_stream_error_exception event available at #on_model_stream_error_exception_event callback and response eventstream enumerator: + # For :model_stream_error_exception event available at #on_model_stream_error_exception_event callback and response eventstream enumerator: # event.message #=> String # event.original_status_code #=> Integer # event.original_message #=> String # - # # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: + # For :validation_exception event available at #on_validation_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: + # For :throttling_exception event available at #on_throttling_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :model_timeout_exception event available at #on_model_timeout_exception_event callback and response eventstream enumerator: + # For :model_timeout_exception event available at #on_model_timeout_exception_event callback and response eventstream enumerator: # event.message #=> String # - # # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: + # For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator: # event.message #=> String # # resp.content_type #=> String diff --git a/gems/aws-sdk-bedrockruntime/sig/async_client.rbs b/gems/aws-sdk-bedrockruntime/sig/async_client.rbs deleted file mode 100644 index 69b4d4e1e11..00000000000 --- a/gems/aws-sdk-bedrockruntime/sig/async_client.rbs +++ /dev/null @@ -1,81 +0,0 @@ -# WARNING ABOUT GENERATED CODE -# -# This file is generated. See the contributing guide for more information: -# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md -# -# WARNING ABOUT GENERATED CODE - -module Aws - module BedrockRuntime - class AsyncClient < ::Seahorse::Client::AsyncBase - include ::Aws::AsyncClientStubs - - # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/BedrockRuntime/AsyncClient.html#initialize-instance_method - def self.new: ( - ?credentials: untyped, - ?region: String, - ?access_key_id: String, - ?account_id: String, - ?adaptive_retry_wait_to_fill: bool, - ?convert_params: bool, - ?correct_clock_skew: bool, - ?defaults_mode: String, - ?disable_request_compression: bool, - ?endpoint: String, - ?event_stream_handler: Proc, - ?ignore_configured_endpoint_urls: bool, - ?input_event_stream_handler: Proc, - ?log_formatter: untyped, - ?log_level: Symbol, - ?logger: untyped, - ?max_attempts: Integer, - ?output_event_stream_handler: Proc, - ?profile: String, - ?request_checksum_calculation: String, - ?request_min_compression_size_bytes: Integer, - ?response_checksum_validation: String, - ?retry_backoff: Proc, - ?retry_base_delay: Float, - ?retry_jitter: (:none | :equal | :full | ^(Integer) -> Integer), - ?retry_limit: Integer, - ?retry_max_delay: Integer, - ?retry_mode: ("legacy" | "standard" | "adaptive"), - ?sdk_ua_app_id: String, - ?secret_access_key: String, - ?session_token: String, - ?sigv4a_signing_region_set: Array[String], - ?stub_responses: bool, - ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, - ?token_provider: untyped, - ?use_dualstack_endpoint: bool, - ?use_fips_endpoint: bool, - ?validate_params: bool, - ?endpoint_provider: untyped, - ?connection_read_timeout: (Float | Integer), - ?connection_timeout: (Float | Integer), - ?enable_alpn: bool, - ?max_concurrent_streams: (Float | Integer), - ?read_chunk_size: (Float | Integer), - ?http_wire_trace: bool, - ?ssl_verify_peer: bool, - ?ssl_ca_bundle: String, - ?ssl_ca_directory: String, - ?ssl_ca_store: String, - ?raise_response_errors: bool - ) -> instance - | (?Hash[Symbol, untyped]) -> instance - - - interface _InvokeModelWithBidirectionalStreamResponseSuccess - include ::Seahorse::Client::_ResponseSuccess[Types::InvokeModelWithBidirectionalStreamResponse] - def body: () -> Types::InvokeModelWithBidirectionalStreamOutput - end - # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/BedrockRuntime/AsyncClient.html#invoke_model_with_bidirectional_stream-instance_method - def invoke_model_with_bidirectional_stream: ( - model_id: ::String, - input_event_stream_hander: untyped - ) ?{ (*untyped) -> void } -> _InvokeModelWithBidirectionalStreamResponseSuccess - | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _InvokeModelWithBidirectionalStreamResponseSuccess - end - end -end \ No newline at end of file diff --git a/gems/aws-sdk-bedrockruntime/sig/client.rbs b/gems/aws-sdk-bedrockruntime/sig/client.rbs index e45a81939a0..18cc1363bd5 100644 --- a/gems/aws-sdk-bedrockruntime/sig/client.rbs +++ b/gems/aws-sdk-bedrockruntime/sig/client.rbs @@ -55,7 +55,7 @@ module Aws ?secret_access_key: String, ?session_token: String, ?sigv4a_signing_region_set: Array[String], - ?stub_responses: bool, + ?stub_responses: untyped, ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, ?token_provider: untyped, ?use_dualstack_endpoint: bool, @@ -500,6 +500,17 @@ module Aws ) -> _InvokeModelResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _InvokeModelResponseSuccess + interface _InvokeModelWithBidirectionalStreamResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::InvokeModelWithBidirectionalStreamResponse] + def body: () -> Types::InvokeModelWithBidirectionalStreamOutput + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/BedrockRuntime/Client.html#invoke_model_with_bidirectional_stream-instance_method + def invoke_model_with_bidirectional_stream: ( + model_id: ::String, + input_event_stream_hander: untyped + ) ?{ (*untyped) -> void } -> _InvokeModelWithBidirectionalStreamResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _InvokeModelWithBidirectionalStreamResponseSuccess + interface _InvokeModelWithResponseStreamResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::InvokeModelWithResponseStreamResponse] def body: () -> Types::ResponseStream diff --git a/gems/aws-sdk-bedrockruntime/sig/resource.rbs b/gems/aws-sdk-bedrockruntime/sig/resource.rbs index 7df6bf367aa..4fced24dfdc 100644 --- a/gems/aws-sdk-bedrockruntime/sig/resource.rbs +++ b/gems/aws-sdk-bedrockruntime/sig/resource.rbs @@ -55,7 +55,7 @@ module Aws ?secret_access_key: String, ?session_token: String, ?sigv4a_signing_region_set: Array[String], - ?stub_responses: bool, + ?stub_responses: untyped, ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, ?token_provider: untyped, ?use_dualstack_endpoint: bool, diff --git a/gems/aws-sdk-s3/lib/aws-sdk-s3/client.rb b/gems/aws-sdk-s3/lib/aws-sdk-s3/client.rb index e0eb20f8968..b9671f03dbc 100644 --- a/gems/aws-sdk-s3/lib/aws-sdk-s3/client.rb +++ b/gems/aws-sdk-s3/lib/aws-sdk-s3/client.rb @@ -18980,128 +18980,122 @@ def restore_object(params = {}, options = {}) # # @example EventStream Operation Example # - # # You can process the event once it arrives immediately, or wait until the - # # full response is complete and iterate through the eventstream enumerator. - # - # # To interact with event immediately, you need to register select_object_content - # # with callbacks. Callbacks can be registered for specific events or for all - # # events, including error events. - # - # # Callbacks can be passed into the `:event_stream_handler` option or within a - # # block statement attached to the #select_object_content call directly. Hybrid - # # pattern of both is also supported. - # - # # `:event_stream_handler` option takes in either a Proc object or - # # Aws::S3::EventStreams::SelectObjectContentEventStream object. - # - # # Usage pattern a): Callbacks with a block attached to #select_object_content - # # Example for registering callbacks for all event types and an error event - # client.select_object_content( - # # params input - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String - # end + # You can process the event once it arrives immediately, or wait until the + # full response is complete and iterate through the eventstream enumerator. + # + # To interact with event immediately, you need to register #select_object_content + # with callbacks. Callbacks can be registered for specific events or for all + # events, including error events. + # + # Callbacks can be passed into the `:event_stream_handler` option or within a + # block statement attached to the #select_object_content call directly. Hybrid + # pattern of both is also supported. + # + # `:event_stream_handler` option takes in either a Proc object or + # Aws::S3::EventStreams::SelectObjectContentEventStream object. + # + # Usage pattern a): Callbacks with a block attached to #select_object_content + # Example for registering callbacks for all event types and an error event + # + # client.select_object_content( # params input# ) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end + # + # stream.on_event do |event| + # # process all events arrive + # puts event.event_type + # ... + # end # - # stream.on_event do |event| - # # process all events arrive - # puts event.event_type - # # ... # end - # end # - # # Usage pattern b): Pass in `:event_stream_handler` for #select_object_content - # # 1) Create a Aws::S3::EventStreams::SelectObjectContentEventStream object - # # Example for registering callbacks with specific events + # Usage pattern b): Pass in `:event_stream_handler` for #select_object_content # - # handler = Aws::S3::EventStreams::SelectObjectContentEventStream.new - # handler.on_records_event do |event| - # event # => Aws::S3::Types::Records - # end - # handler.on_stats_event do |event| - # event # => Aws::S3::Types::Stats - # end - # handler.on_progress_event do |event| - # event # => Aws::S3::Types::Progress - # end - # handler.on_cont_event do |event| - # event # => Aws::S3::Types::Cont - # end - # handler.on_end_event do |event| - # event # => Aws::S3::Types::End - # end + # 1) Create a Aws::S3::EventStreams::SelectObjectContentEventStream object + # Example for registering callbacks with specific events # - # client.select_object_content( - # # params inputs - # event_stream_handler: handler - # ) + # handler = Aws::S3::EventStreams::SelectObjectContentEventStream.new + # handler.on_records_event do |event| + # event # => Aws::S3::Types::Records + # end + # handler.on_stats_event do |event| + # event # => Aws::S3::Types::Stats + # end + # handler.on_progress_event do |event| + # event # => Aws::S3::Types::Progress + # end + # handler.on_cont_event do |event| + # event # => Aws::S3::Types::Cont + # end + # handler.on_end_event do |event| + # event # => Aws::S3::Types::End + # end # - # # 2) Use a Ruby Proc object - # # Example for registering callbacks with specific events - # handler = Proc.new do |stream| - # stream.on_records_event do |event| - # event # => Aws::S3::Types::Records - # end - # stream.on_stats_event do |event| - # event # => Aws::S3::Types::Stats - # end - # stream.on_progress_event do |event| - # event # => Aws::S3::Types::Progress - # end - # stream.on_cont_event do |event| - # event # => Aws::S3::Types::Cont - # end - # stream.on_end_event do |event| - # event # => Aws::S3::Types::End + # client.select_object_content( # params input #, event_stream_handler: handler) + # + # 2) Use a Ruby Proc object + # Example for registering callbacks with specific events + # + # handler = Proc.new do |stream| + # stream.on_records_event do |event| + # event # => Aws::S3::Types::Records + # end + # stream.on_stats_event do |event| + # event # => Aws::S3::Types::Stats + # end + # stream.on_progress_event do |event| + # event # => Aws::S3::Types::Progress + # end + # stream.on_cont_event do |event| + # event # => Aws::S3::Types::Cont + # end + # stream.on_end_event do |event| + # event # => Aws::S3::Types::End + # end # end - # end # - # client.select_object_content( - # # params inputs - # event_stream_handler: handler - # ) + # client.select_object_content( # params input #, event_stream_handler: handler) # - # # Usage pattern c): Hybrid pattern of a) and b) - # handler = Aws::S3::EventStreams::SelectObjectContentEventStream.new - # handler.on_records_event do |event| - # event # => Aws::S3::Types::Records - # end - # handler.on_stats_event do |event| - # event # => Aws::S3::Types::Stats - # end - # handler.on_progress_event do |event| - # event # => Aws::S3::Types::Progress - # end - # handler.on_cont_event do |event| - # event # => Aws::S3::Types::Cont - # end - # handler.on_end_event do |event| - # event # => Aws::S3::Types::End - # end + # Usage pattern c): Hybrid pattern of a) and b) + # + # handler = Aws::S3::EventStreams::SelectObjectContentEventStream.new + # handler.on_records_event do |event| + # event # => Aws::S3::Types::Records + # end + # handler.on_stats_event do |event| + # event # => Aws::S3::Types::Stats + # end + # handler.on_progress_event do |event| + # event # => Aws::S3::Types::Progress + # end + # handler.on_cont_event do |event| + # event # => Aws::S3::Types::Cont + # end + # handler.on_end_event do |event| + # event # => Aws::S3::Types::End + # end # - # client.select_object_content( - # # params input - # event_stream_handler: handler - # ) do |stream| - # stream.on_error_event do |event| - # # catch unmodeled error event in the stream - # raise event - # # => Aws::Errors::EventError - # # event.event_type => :error - # # event.error_code => String - # # event.error_message => String + # client.select_object_content( # params input #, event_stream_handler: handler) do |stream| + # stream.on_error_event do |event| + # # catch unmodeled error event in the stream + # raise event + # # => Aws::Errors::EventError + # # event.event_type => :error + # # event.error_code => String + # # event.error_message => String + # end # end - # end # - # # You can also iterate through events after the response complete. - # # Events are available at - # resp.payload # => Enumerator - # # For parameter input example, please refer to following request syntax. + # You can also iterate through events after the response complete. + # + # Events are available at resp.payload # => Enumerator + # For parameter input example, please refer to following request syntax # # @example Request syntax with placeholder values # @@ -19154,26 +19148,26 @@ def restore_object(params = {}, options = {}) # # @example Response structure # - # # All events are available at resp.payload: + # All events are available at resp.payload: # resp.payload #=> Enumerator # resp.payload.event_types #=> [:records, :stats, :progress, :cont, :end] # - # # For :records event available at #on_records_event callback and response eventstream enumerator: + # For :records event available at #on_records_event callback and response eventstream enumerator: # event.payload #=> IO # - # # For :stats event available at #on_stats_event callback and response eventstream enumerator: + # For :stats event available at #on_stats_event callback and response eventstream enumerator: # event.details.bytes_scanned #=> Integer # event.details.bytes_processed #=> Integer # event.details.bytes_returned #=> Integer # - # # For :progress event available at #on_progress_event callback and response eventstream enumerator: + # For :progress event available at #on_progress_event callback and response eventstream enumerator: # event.details.bytes_scanned #=> Integer # event.details.bytes_processed #=> Integer # event.details.bytes_returned #=> Integer # - # # For :cont event available at #on_cont_event callback and response eventstream enumerator: + # For :cont event available at #on_cont_event callback and response eventstream enumerator: # #=> EmptyStruct - # # For :end event available at #on_end_event callback and response eventstream enumerator: + # For :end event available at #on_end_event callback and response eventstream enumerator: # #=> EmptyStruct # # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent AWS API Documentation diff --git a/gems/aws-sdk-s3/sig/client.rbs b/gems/aws-sdk-s3/sig/client.rbs index 9caeec9a051..728690f4bad 100644 --- a/gems/aws-sdk-s3/sig/client.rbs +++ b/gems/aws-sdk-s3/sig/client.rbs @@ -66,7 +66,7 @@ module Aws ?secret_access_key: String, ?session_token: String, ?sigv4a_signing_region_set: Array[String], - ?stub_responses: bool, + ?stub_responses: untyped, ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, ?token_provider: untyped, ?use_accelerate_endpoint: bool, diff --git a/gems/aws-sdk-s3/sig/resource.rbs b/gems/aws-sdk-s3/sig/resource.rbs index 5a64f0439bc..cd5d30a52bd 100644 --- a/gems/aws-sdk-s3/sig/resource.rbs +++ b/gems/aws-sdk-s3/sig/resource.rbs @@ -66,7 +66,7 @@ module Aws ?secret_access_key: String, ?session_token: String, ?sigv4a_signing_region_set: Array[String], - ?stub_responses: bool, + ?stub_responses: untyped, ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase, ?token_provider: untyped, ?use_accelerate_endpoint: bool,