aws-sdk-lexruntimev2 1.16.0 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-lexruntimev2/async_client.rb +22 -5
- data/lib/aws-sdk-lexruntimev2/client.rb +20 -3
- data/lib/aws-sdk-lexruntimev2/endpoint_parameters.rb +66 -0
- data/lib/aws-sdk-lexruntimev2/endpoint_provider.rb +51 -0
- data/lib/aws-sdk-lexruntimev2/endpoints.rb +99 -0
- data/lib/aws-sdk-lexruntimev2/plugins/endpoints.rb +80 -0
- data/lib/aws-sdk-lexruntimev2/types.rb +0 -792
- data/lib/aws-sdk-lexruntimev2.rb +5 -1
- metadata +8 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 5c26df7492f393ad42bc3e76d4a126122a7d162735625cd3b5fac0550dc5950d
         | 
| 4 | 
            +
              data.tar.gz: 59c0fbcb9fde494f14aab28ad4dfb41452d934c6bf0ee42a164237491b6464f6
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: c39e5cf6673d9b397b59eefa40ea980e1b991f01cdaac1cef9194be359bb8fe1a3317db738766c55cdfb5c816c4f8f48a5af3b9d11f2b07ebf0f729f021b51bc
         | 
| 7 | 
            +
              data.tar.gz: cac575579cf951a2fb3c62ce16686a35b3ee335de25f5d6d2f5fa25462b7ef5cc8df1ff05c5b9f64097ef7415311e3716b2a1a834b98be9afb94968f462e8461
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,6 +1,18 @@ | |
| 1 1 | 
             
            Unreleased Changes
         | 
| 2 2 | 
             
            ------------------
         | 
| 3 3 |  | 
| 4 | 
            +
            1.18.0 (2023-01-18)
         | 
| 5 | 
            +
            ------------------
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            * Issue - Replace runtime endpoint resolution approach with generated ruby code.
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            1.17.0 (2022-10-25)
         | 
| 12 | 
            +
            ------------------
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
         | 
| 15 | 
            +
             | 
| 4 16 | 
             
            1.16.0 (2022-09-09)
         | 
| 5 17 | 
             
            ------------------
         | 
| 6 18 |  | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            1. | 
| 1 | 
            +
            1.18.0
         | 
| @@ -27,7 +27,7 @@ require 'aws-sdk-core/plugins/checksum_algorithm.rb' | |
| 27 27 | 
             
            require 'aws-sdk-core/plugins/defaults_mode.rb'
         | 
| 28 28 | 
             
            require 'aws-sdk-core/plugins/recursion_detection.rb'
         | 
| 29 29 | 
             
            require 'aws-sdk-core/plugins/invocation_id.rb'
         | 
| 30 | 
            -
            require 'aws-sdk-core/plugins/ | 
| 30 | 
            +
            require 'aws-sdk-core/plugins/sign.rb'
         | 
| 31 31 | 
             
            require 'aws-sdk-core/plugins/protocols/rest_json.rb'
         | 
| 32 32 | 
             
            require 'aws-sdk-core/plugins/event_stream_configuration.rb'
         | 
| 33 33 |  | 
| @@ -59,9 +59,10 @@ module Aws::LexRuntimeV2 | |
| 59 59 | 
             
                add_plugin(Aws::Plugins::DefaultsMode)
         | 
| 60 60 | 
             
                add_plugin(Aws::Plugins::RecursionDetection)
         | 
| 61 61 | 
             
                add_plugin(Aws::Plugins::InvocationId)
         | 
| 62 | 
            -
                add_plugin(Aws::Plugins:: | 
| 62 | 
            +
                add_plugin(Aws::Plugins::Sign)
         | 
| 63 63 | 
             
                add_plugin(Aws::Plugins::Protocols::RestJson)
         | 
| 64 64 | 
             
                add_plugin(Aws::Plugins::EventStreamConfiguration)
         | 
| 65 | 
            +
                add_plugin(Aws::LexRuntimeV2::Plugins::Endpoints)
         | 
| 65 66 |  | 
| 66 67 | 
             
                #   @option options [required, Aws::CredentialProvider] :credentials
         | 
| 67 68 | 
             
                #     Your AWS credentials. This can be an instance of any one of the
         | 
| @@ -232,6 +233,19 @@ module Aws::LexRuntimeV2 | |
| 232 233 | 
             
                #     ** Please note ** When response stubbing is enabled, no HTTP
         | 
| 233 234 | 
             
                #     requests are made, and retries are disabled.
         | 
| 234 235 | 
             
                #
         | 
| 236 | 
            +
                #   @option options [Aws::TokenProvider] :token_provider
         | 
| 237 | 
            +
                #     A Bearer Token Provider. This can be an instance of any one of the
         | 
| 238 | 
            +
                #     following classes:
         | 
| 239 | 
            +
                #
         | 
| 240 | 
            +
                #     * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
         | 
| 241 | 
            +
                #       tokens.
         | 
| 242 | 
            +
                #
         | 
| 243 | 
            +
                #     * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
         | 
| 244 | 
            +
                #       access token generated from `aws login`.
         | 
| 245 | 
            +
                #
         | 
| 246 | 
            +
                #     When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
         | 
| 247 | 
            +
                #     will be used to search for tokens configured for your profile in shared configuration files.
         | 
| 248 | 
            +
                #
         | 
| 235 249 | 
             
                #   @option options [Boolean] :use_dualstack_endpoint
         | 
| 236 250 | 
             
                #     When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
         | 
| 237 251 | 
             
                #     will be used if available.
         | 
| @@ -245,6 +259,9 @@ module Aws::LexRuntimeV2 | |
| 245 259 | 
             
                #     When `true`, request parameters are validated before
         | 
| 246 260 | 
             
                #     sending the request.
         | 
| 247 261 | 
             
                #
         | 
| 262 | 
            +
                #   @option options [Aws::LexRuntimeV2::EndpointProvider] :endpoint_provider
         | 
| 263 | 
            +
                #     The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::LexRuntimeV2::EndpointParameters`
         | 
| 264 | 
            +
                #
         | 
| 248 265 | 
             
                def initialize(*args)
         | 
| 249 266 | 
             
                  unless Kernel.const_defined?("HTTP2")
         | 
| 250 267 | 
             
                    raise "Must include http/2 gem to use AsyncClient instances."
         | 
| @@ -627,9 +644,9 @@ module Aws::LexRuntimeV2 | |
| 627 644 | 
             
                  req = build_request(:start_conversation, params)
         | 
| 628 645 |  | 
| 629 646 | 
             
                  req.context[:input_event_stream_handler] = input_event_stream_handler
         | 
| 630 | 
            -
                  req.handlers.add(Aws::Binary::EncodeHandler, priority:  | 
| 647 | 
            +
                  req.handlers.add(Aws::Binary::EncodeHandler, priority: 55)
         | 
| 631 648 | 
             
                  req.context[:output_event_stream_handler] = output_event_stream_handler
         | 
| 632 | 
            -
                  req.handlers.add(Aws::Binary::DecodeHandler, priority:  | 
| 649 | 
            +
                  req.handlers.add(Aws::Binary::DecodeHandler, priority: 55)
         | 
| 633 650 |  | 
| 634 651 | 
             
                  req.send_request(options, &block)
         | 
| 635 652 | 
             
                end
         | 
| @@ -648,7 +665,7 @@ module Aws::LexRuntimeV2 | |
| 648 665 | 
             
                    http_response: Seahorse::Client::Http::AsyncResponse.new,
         | 
| 649 666 | 
             
                    config: config)
         | 
| 650 667 | 
             
                  context[:gem_name] = 'aws-sdk-lexruntimev2'
         | 
| 651 | 
            -
                  context[:gem_version] = '1. | 
| 668 | 
            +
                  context[:gem_version] = '1.18.0'
         | 
| 652 669 | 
             
                  Seahorse::Client::Request.new(handlers, context)
         | 
| 653 670 | 
             
                end
         | 
| 654 671 |  | 
| @@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb' | |
| 30 30 | 
             
            require 'aws-sdk-core/plugins/checksum_algorithm.rb'
         | 
| 31 31 | 
             
            require 'aws-sdk-core/plugins/defaults_mode.rb'
         | 
| 32 32 | 
             
            require 'aws-sdk-core/plugins/recursion_detection.rb'
         | 
| 33 | 
            -
            require 'aws-sdk-core/plugins/ | 
| 33 | 
            +
            require 'aws-sdk-core/plugins/sign.rb'
         | 
| 34 34 | 
             
            require 'aws-sdk-core/plugins/protocols/rest_json.rb'
         | 
| 35 35 | 
             
            require 'aws-sdk-core/plugins/event_stream_configuration.rb'
         | 
| 36 36 |  | 
| @@ -80,9 +80,10 @@ module Aws::LexRuntimeV2 | |
| 80 80 | 
             
                add_plugin(Aws::Plugins::ChecksumAlgorithm)
         | 
| 81 81 | 
             
                add_plugin(Aws::Plugins::DefaultsMode)
         | 
| 82 82 | 
             
                add_plugin(Aws::Plugins::RecursionDetection)
         | 
| 83 | 
            -
                add_plugin(Aws::Plugins:: | 
| 83 | 
            +
                add_plugin(Aws::Plugins::Sign)
         | 
| 84 84 | 
             
                add_plugin(Aws::Plugins::Protocols::RestJson)
         | 
| 85 85 | 
             
                add_plugin(Aws::Plugins::EventStreamConfiguration)
         | 
| 86 | 
            +
                add_plugin(Aws::LexRuntimeV2::Plugins::Endpoints)
         | 
| 86 87 |  | 
| 87 88 | 
             
                # @overload initialize(options)
         | 
| 88 89 | 
             
                #   @param [Hash] options
         | 
| @@ -298,6 +299,19 @@ module Aws::LexRuntimeV2 | |
| 298 299 | 
             
                #     ** Please note ** When response stubbing is enabled, no HTTP
         | 
| 299 300 | 
             
                #     requests are made, and retries are disabled.
         | 
| 300 301 | 
             
                #
         | 
| 302 | 
            +
                #   @option options [Aws::TokenProvider] :token_provider
         | 
| 303 | 
            +
                #     A Bearer Token Provider. This can be an instance of any one of the
         | 
| 304 | 
            +
                #     following classes:
         | 
| 305 | 
            +
                #
         | 
| 306 | 
            +
                #     * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
         | 
| 307 | 
            +
                #       tokens.
         | 
| 308 | 
            +
                #
         | 
| 309 | 
            +
                #     * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
         | 
| 310 | 
            +
                #       access token generated from `aws login`.
         | 
| 311 | 
            +
                #
         | 
| 312 | 
            +
                #     When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
         | 
| 313 | 
            +
                #     will be used to search for tokens configured for your profile in shared configuration files.
         | 
| 314 | 
            +
                #
         | 
| 301 315 | 
             
                #   @option options [Boolean] :use_dualstack_endpoint
         | 
| 302 316 | 
             
                #     When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
         | 
| 303 317 | 
             
                #     will be used if available.
         | 
| @@ -311,6 +325,9 @@ module Aws::LexRuntimeV2 | |
| 311 325 | 
             
                #     When `true`, request parameters are validated before
         | 
| 312 326 | 
             
                #     sending the request.
         | 
| 313 327 | 
             
                #
         | 
| 328 | 
            +
                #   @option options [Aws::LexRuntimeV2::EndpointProvider] :endpoint_provider
         | 
| 329 | 
            +
                #     The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::LexRuntimeV2::EndpointParameters`
         | 
| 330 | 
            +
                #
         | 
| 314 331 | 
             
                #   @option options [URI::HTTP,String] :http_proxy A proxy to send
         | 
| 315 332 | 
             
                #     requests through.  Formatted like 'http://proxy.com:123'.
         | 
| 316 333 | 
             
                #
         | 
| @@ -1125,7 +1142,7 @@ module Aws::LexRuntimeV2 | |
| 1125 1142 | 
             
                    params: params,
         | 
| 1126 1143 | 
             
                    config: config)
         | 
| 1127 1144 | 
             
                  context[:gem_name] = 'aws-sdk-lexruntimev2'
         | 
| 1128 | 
            -
                  context[:gem_version] = '1. | 
| 1145 | 
            +
                  context[:gem_version] = '1.18.0'
         | 
| 1129 1146 | 
             
                  Seahorse::Client::Request.new(handlers, context)
         | 
| 1130 1147 | 
             
                end
         | 
| 1131 1148 |  | 
| @@ -0,0 +1,66 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            # WARNING ABOUT GENERATED CODE
         | 
| 4 | 
            +
            #
         | 
| 5 | 
            +
            # This file is generated. See the contributing guide for more information:
         | 
| 6 | 
            +
            # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
         | 
| 7 | 
            +
            #
         | 
| 8 | 
            +
            # WARNING ABOUT GENERATED CODE
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            module Aws::LexRuntimeV2
         | 
| 11 | 
            +
              # Endpoint parameters used to influence endpoints per request.
         | 
| 12 | 
            +
              #
         | 
| 13 | 
            +
              # @!attribute region
         | 
| 14 | 
            +
              #   The AWS region used to dispatch the request.
         | 
| 15 | 
            +
              #
         | 
| 16 | 
            +
              #   @return [String]
         | 
| 17 | 
            +
              #
         | 
| 18 | 
            +
              # @!attribute use_dual_stack
         | 
| 19 | 
            +
              #   When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
         | 
| 20 | 
            +
              #
         | 
| 21 | 
            +
              #   @return [Boolean]
         | 
| 22 | 
            +
              #
         | 
| 23 | 
            +
              # @!attribute use_fips
         | 
| 24 | 
            +
              #   When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
         | 
| 25 | 
            +
              #
         | 
| 26 | 
            +
              #   @return [Boolean]
         | 
| 27 | 
            +
              #
         | 
| 28 | 
            +
              # @!attribute endpoint
         | 
| 29 | 
            +
              #   Override the endpoint used to send this request
         | 
| 30 | 
            +
              #
         | 
| 31 | 
            +
              #   @return [String]
         | 
| 32 | 
            +
              #
         | 
| 33 | 
            +
              EndpointParameters = Struct.new(
         | 
| 34 | 
            +
                :region,
         | 
| 35 | 
            +
                :use_dual_stack,
         | 
| 36 | 
            +
                :use_fips,
         | 
| 37 | 
            +
                :endpoint,
         | 
| 38 | 
            +
              ) do
         | 
| 39 | 
            +
                include Aws::Structure
         | 
| 40 | 
            +
             | 
| 41 | 
            +
                # @api private
         | 
| 42 | 
            +
                class << self
         | 
| 43 | 
            +
                  PARAM_MAP = {
         | 
| 44 | 
            +
                    'Region' => :region,
         | 
| 45 | 
            +
                    'UseDualStack' => :use_dual_stack,
         | 
| 46 | 
            +
                    'UseFIPS' => :use_fips,
         | 
| 47 | 
            +
                    'Endpoint' => :endpoint,
         | 
| 48 | 
            +
                  }.freeze
         | 
| 49 | 
            +
                end
         | 
| 50 | 
            +
             | 
| 51 | 
            +
                def initialize(options = {})
         | 
| 52 | 
            +
                  self[:region] = options[:region]
         | 
| 53 | 
            +
                  self[:use_dual_stack] = options[:use_dual_stack]
         | 
| 54 | 
            +
                  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
         | 
| 55 | 
            +
                  if self[:use_dual_stack].nil?
         | 
| 56 | 
            +
                    raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
         | 
| 57 | 
            +
                  end
         | 
| 58 | 
            +
                  self[:use_fips] = options[:use_fips]
         | 
| 59 | 
            +
                  self[:use_fips] = false if self[:use_fips].nil?
         | 
| 60 | 
            +
                  if self[:use_fips].nil?
         | 
| 61 | 
            +
                    raise ArgumentError, "Missing required EndpointParameter: :use_fips"
         | 
| 62 | 
            +
                  end
         | 
| 63 | 
            +
                  self[:endpoint] = options[:endpoint]
         | 
| 64 | 
            +
                end
         | 
| 65 | 
            +
              end
         | 
| 66 | 
            +
            end
         | 
| @@ -0,0 +1,51 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            # WARNING ABOUT GENERATED CODE
         | 
| 4 | 
            +
            #
         | 
| 5 | 
            +
            # This file is generated. See the contributing guide for more information:
         | 
| 6 | 
            +
            # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
         | 
| 7 | 
            +
            #
         | 
| 8 | 
            +
            # WARNING ABOUT GENERATED CODE
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            module Aws::LexRuntimeV2
         | 
| 11 | 
            +
              class EndpointProvider
         | 
| 12 | 
            +
                def resolve_endpoint(parameters)
         | 
| 13 | 
            +
                  region = parameters.region
         | 
| 14 | 
            +
                  use_dual_stack = parameters.use_dual_stack
         | 
| 15 | 
            +
                  use_fips = parameters.use_fips
         | 
| 16 | 
            +
                  endpoint = parameters.endpoint
         | 
| 17 | 
            +
                  if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
         | 
| 18 | 
            +
                    if Aws::Endpoints::Matchers.set?(endpoint) && (url = Aws::Endpoints::Matchers.parse_url(endpoint))
         | 
| 19 | 
            +
                      if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
         | 
| 20 | 
            +
                        raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
         | 
| 21 | 
            +
                      end
         | 
| 22 | 
            +
                      if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
         | 
| 23 | 
            +
                        raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
         | 
| 24 | 
            +
                      end
         | 
| 25 | 
            +
                      return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
         | 
| 26 | 
            +
                    end
         | 
| 27 | 
            +
                    if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
         | 
| 28 | 
            +
                      if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
         | 
| 29 | 
            +
                        return Aws::Endpoints::Endpoint.new(url: "https://runtime-v2-lex-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
         | 
| 30 | 
            +
                      end
         | 
| 31 | 
            +
                      raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
         | 
| 32 | 
            +
                    end
         | 
| 33 | 
            +
                    if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
         | 
| 34 | 
            +
                      if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
         | 
| 35 | 
            +
                        return Aws::Endpoints::Endpoint.new(url: "https://runtime-v2-lex-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
         | 
| 36 | 
            +
                      end
         | 
| 37 | 
            +
                      raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
         | 
| 38 | 
            +
                    end
         | 
| 39 | 
            +
                    if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
         | 
| 40 | 
            +
                      if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
         | 
| 41 | 
            +
                        return Aws::Endpoints::Endpoint.new(url: "https://runtime-v2-lex.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
         | 
| 42 | 
            +
                      end
         | 
| 43 | 
            +
                      raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
         | 
| 44 | 
            +
                    end
         | 
| 45 | 
            +
                    return Aws::Endpoints::Endpoint.new(url: "https://runtime-v2-lex.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
         | 
| 46 | 
            +
                  end
         | 
| 47 | 
            +
                  raise ArgumentError, 'No endpoint could be resolved'
         | 
| 48 | 
            +
             | 
| 49 | 
            +
                end
         | 
| 50 | 
            +
              end
         | 
| 51 | 
            +
            end
         | 
| @@ -0,0 +1,99 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            # WARNING ABOUT GENERATED CODE
         | 
| 4 | 
            +
            #
         | 
| 5 | 
            +
            # This file is generated. See the contributing guide for more information:
         | 
| 6 | 
            +
            # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
         | 
| 7 | 
            +
            #
         | 
| 8 | 
            +
            # WARNING ABOUT GENERATED CODE
         | 
| 9 | 
            +
             | 
| 10 | 
            +
             | 
| 11 | 
            +
            module Aws::LexRuntimeV2
         | 
| 12 | 
            +
              module Endpoints
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                class DeleteSession
         | 
| 15 | 
            +
                  def self.build(context)
         | 
| 16 | 
            +
                    unless context.config.regional_endpoint
         | 
| 17 | 
            +
                      endpoint = context.config.endpoint.to_s
         | 
| 18 | 
            +
                    end
         | 
| 19 | 
            +
                    Aws::LexRuntimeV2::EndpointParameters.new(
         | 
| 20 | 
            +
                      region: context.config.region,
         | 
| 21 | 
            +
                      use_dual_stack: context.config.use_dualstack_endpoint,
         | 
| 22 | 
            +
                      use_fips: context.config.use_fips_endpoint,
         | 
| 23 | 
            +
                      endpoint: endpoint,
         | 
| 24 | 
            +
                    )
         | 
| 25 | 
            +
                  end
         | 
| 26 | 
            +
                end
         | 
| 27 | 
            +
             | 
| 28 | 
            +
                class GetSession
         | 
| 29 | 
            +
                  def self.build(context)
         | 
| 30 | 
            +
                    unless context.config.regional_endpoint
         | 
| 31 | 
            +
                      endpoint = context.config.endpoint.to_s
         | 
| 32 | 
            +
                    end
         | 
| 33 | 
            +
                    Aws::LexRuntimeV2::EndpointParameters.new(
         | 
| 34 | 
            +
                      region: context.config.region,
         | 
| 35 | 
            +
                      use_dual_stack: context.config.use_dualstack_endpoint,
         | 
| 36 | 
            +
                      use_fips: context.config.use_fips_endpoint,
         | 
| 37 | 
            +
                      endpoint: endpoint,
         | 
| 38 | 
            +
                    )
         | 
| 39 | 
            +
                  end
         | 
| 40 | 
            +
                end
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                class PutSession
         | 
| 43 | 
            +
                  def self.build(context)
         | 
| 44 | 
            +
                    unless context.config.regional_endpoint
         | 
| 45 | 
            +
                      endpoint = context.config.endpoint.to_s
         | 
| 46 | 
            +
                    end
         | 
| 47 | 
            +
                    Aws::LexRuntimeV2::EndpointParameters.new(
         | 
| 48 | 
            +
                      region: context.config.region,
         | 
| 49 | 
            +
                      use_dual_stack: context.config.use_dualstack_endpoint,
         | 
| 50 | 
            +
                      use_fips: context.config.use_fips_endpoint,
         | 
| 51 | 
            +
                      endpoint: endpoint,
         | 
| 52 | 
            +
                    )
         | 
| 53 | 
            +
                  end
         | 
| 54 | 
            +
                end
         | 
| 55 | 
            +
             | 
| 56 | 
            +
                class RecognizeText
         | 
| 57 | 
            +
                  def self.build(context)
         | 
| 58 | 
            +
                    unless context.config.regional_endpoint
         | 
| 59 | 
            +
                      endpoint = context.config.endpoint.to_s
         | 
| 60 | 
            +
                    end
         | 
| 61 | 
            +
                    Aws::LexRuntimeV2::EndpointParameters.new(
         | 
| 62 | 
            +
                      region: context.config.region,
         | 
| 63 | 
            +
                      use_dual_stack: context.config.use_dualstack_endpoint,
         | 
| 64 | 
            +
                      use_fips: context.config.use_fips_endpoint,
         | 
| 65 | 
            +
                      endpoint: endpoint,
         | 
| 66 | 
            +
                    )
         | 
| 67 | 
            +
                  end
         | 
| 68 | 
            +
                end
         | 
| 69 | 
            +
             | 
| 70 | 
            +
                class RecognizeUtterance
         | 
| 71 | 
            +
                  def self.build(context)
         | 
| 72 | 
            +
                    unless context.config.regional_endpoint
         | 
| 73 | 
            +
                      endpoint = context.config.endpoint.to_s
         | 
| 74 | 
            +
                    end
         | 
| 75 | 
            +
                    Aws::LexRuntimeV2::EndpointParameters.new(
         | 
| 76 | 
            +
                      region: context.config.region,
         | 
| 77 | 
            +
                      use_dual_stack: context.config.use_dualstack_endpoint,
         | 
| 78 | 
            +
                      use_fips: context.config.use_fips_endpoint,
         | 
| 79 | 
            +
                      endpoint: endpoint,
         | 
| 80 | 
            +
                    )
         | 
| 81 | 
            +
                  end
         | 
| 82 | 
            +
                end
         | 
| 83 | 
            +
             | 
| 84 | 
            +
                class StartConversation
         | 
| 85 | 
            +
                  def self.build(context)
         | 
| 86 | 
            +
                    unless context.config.regional_endpoint
         | 
| 87 | 
            +
                      endpoint = context.config.endpoint.to_s
         | 
| 88 | 
            +
                    end
         | 
| 89 | 
            +
                    Aws::LexRuntimeV2::EndpointParameters.new(
         | 
| 90 | 
            +
                      region: context.config.region,
         | 
| 91 | 
            +
                      use_dual_stack: context.config.use_dualstack_endpoint,
         | 
| 92 | 
            +
                      use_fips: context.config.use_fips_endpoint,
         | 
| 93 | 
            +
                      endpoint: endpoint,
         | 
| 94 | 
            +
                    )
         | 
| 95 | 
            +
                  end
         | 
| 96 | 
            +
                end
         | 
| 97 | 
            +
             | 
| 98 | 
            +
              end
         | 
| 99 | 
            +
            end
         | 
| @@ -0,0 +1,80 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            # WARNING ABOUT GENERATED CODE
         | 
| 4 | 
            +
            #
         | 
| 5 | 
            +
            # This file is generated. See the contributing guide for more information:
         | 
| 6 | 
            +
            # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
         | 
| 7 | 
            +
            #
         | 
| 8 | 
            +
            # WARNING ABOUT GENERATED CODE
         | 
| 9 | 
            +
             | 
| 10 | 
            +
             | 
| 11 | 
            +
            module Aws::LexRuntimeV2
         | 
| 12 | 
            +
              module Plugins
         | 
| 13 | 
            +
                class Endpoints < Seahorse::Client::Plugin
         | 
| 14 | 
            +
                  option(
         | 
| 15 | 
            +
                    :endpoint_provider,
         | 
| 16 | 
            +
                    doc_type: 'Aws::LexRuntimeV2::EndpointProvider',
         | 
| 17 | 
            +
                    docstring: 'The endpoint provider used to resolve endpoints. Any '\
         | 
| 18 | 
            +
                               'object that responds to `#resolve_endpoint(parameters)` '\
         | 
| 19 | 
            +
                               'where `parameters` is a Struct similar to '\
         | 
| 20 | 
            +
                               '`Aws::LexRuntimeV2::EndpointParameters`'
         | 
| 21 | 
            +
                  ) do |cfg|
         | 
| 22 | 
            +
                    Aws::LexRuntimeV2::EndpointProvider.new
         | 
| 23 | 
            +
                  end
         | 
| 24 | 
            +
             | 
| 25 | 
            +
                  # @api private
         | 
| 26 | 
            +
                  class Handler < Seahorse::Client::Handler
         | 
| 27 | 
            +
                    def call(context)
         | 
| 28 | 
            +
                      # If endpoint was discovered, do not resolve or apply the endpoint.
         | 
| 29 | 
            +
                      unless context[:discovered_endpoint]
         | 
| 30 | 
            +
                        params = parameters_for_operation(context)
         | 
| 31 | 
            +
                        endpoint = context.config.endpoint_provider.resolve_endpoint(params)
         | 
| 32 | 
            +
             | 
| 33 | 
            +
                        context.http_request.endpoint = endpoint.url
         | 
| 34 | 
            +
                        apply_endpoint_headers(context, endpoint.headers)
         | 
| 35 | 
            +
                      end
         | 
| 36 | 
            +
             | 
| 37 | 
            +
                      context[:endpoint_params] = params
         | 
| 38 | 
            +
                      context[:auth_scheme] =
         | 
| 39 | 
            +
                        Aws::Endpoints.resolve_auth_scheme(context, endpoint)
         | 
| 40 | 
            +
             | 
| 41 | 
            +
                      @handler.call(context)
         | 
| 42 | 
            +
                    end
         | 
| 43 | 
            +
             | 
| 44 | 
            +
                    private
         | 
| 45 | 
            +
             | 
| 46 | 
            +
                    def apply_endpoint_headers(context, headers)
         | 
| 47 | 
            +
                      headers.each do |key, values|
         | 
| 48 | 
            +
                        value = values
         | 
| 49 | 
            +
                          .compact
         | 
| 50 | 
            +
                          .map { |s| Seahorse::Util.escape_header_list_string(s.to_s) }
         | 
| 51 | 
            +
                          .join(',')
         | 
| 52 | 
            +
             | 
| 53 | 
            +
                        context.http_request.headers[key] = value
         | 
| 54 | 
            +
                      end
         | 
| 55 | 
            +
                    end
         | 
| 56 | 
            +
             | 
| 57 | 
            +
                    def parameters_for_operation(context)
         | 
| 58 | 
            +
                      case context.operation_name
         | 
| 59 | 
            +
                      when :delete_session
         | 
| 60 | 
            +
                        Aws::LexRuntimeV2::Endpoints::DeleteSession.build(context)
         | 
| 61 | 
            +
                      when :get_session
         | 
| 62 | 
            +
                        Aws::LexRuntimeV2::Endpoints::GetSession.build(context)
         | 
| 63 | 
            +
                      when :put_session
         | 
| 64 | 
            +
                        Aws::LexRuntimeV2::Endpoints::PutSession.build(context)
         | 
| 65 | 
            +
                      when :recognize_text
         | 
| 66 | 
            +
                        Aws::LexRuntimeV2::Endpoints::RecognizeText.build(context)
         | 
| 67 | 
            +
                      when :recognize_utterance
         | 
| 68 | 
            +
                        Aws::LexRuntimeV2::Endpoints::RecognizeUtterance.build(context)
         | 
| 69 | 
            +
                      when :start_conversation
         | 
| 70 | 
            +
                        Aws::LexRuntimeV2::Endpoints::StartConversation.build(context)
         | 
| 71 | 
            +
                      end
         | 
| 72 | 
            +
                    end
         | 
| 73 | 
            +
                  end
         | 
| 74 | 
            +
             | 
| 75 | 
            +
                  def add_handlers(handlers, _config)
         | 
| 76 | 
            +
                    handlers.add(Handler, step: :build, priority: 75)
         | 
| 77 | 
            +
                  end
         | 
| 78 | 
            +
                end
         | 
| 79 | 
            +
              end
         | 
| 80 | 
            +
            end
         |