You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: endpoints.rb
    path of file: ./repos/aws-sdk-ruby/gems/aws-sdk-firehose/lib/aws-sdk-firehose/plugins
    
    the code of the file until where you have to start completion: # frozen_string_literal: true

# 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::Firehose
  module Plugins
    class Endpoints < Seahorse::Client::Plugin
      option(
        :endpoint_provider,
        doc_type: 'Aws::Firehose::EndpointProvider',
        rbs_type: 'untyped',
        docstring: 'The endpoint provider used to resolve endpoints. Any '\
                   'object that responds to `#resolve_en
    
        def parameters_for_operation(context)
          case context.operation_name
          when :create_delivery_stream
            Aws::Firehose::Endpoints::CreateDeliveryStream.build(context)
          when :delete_delivery_stream
            Aws::Firehose::Endpoints::DeleteDeliveryStream.build(context)
          when :describe_delivery_stream
            Aws::Firehose::Endpoints::DescribeDeliveryStream.build(context)
          when :list_delivery_streams
            Aws::Firehose::Endpoints::ListDeliveryStreams.build(context)
          when :list_tags_for_delivery_stream
            Aws::Firehose::Endpoints::ListTagsForDeliveryStream.build(context)
          when :put_record
            Aws::Firehose::Endpoints::PutRecord.build(context)
          when :put_record_batch
            Aws::Firehose::Endpoints::PutRecordBatch.build(context)
          when :start_delivery_stream_encryption
            Aws::Firehose::Endpoints::StartDeliveryStreamEncryption.build(context)
          when :stop_delivery_stream_encryption
            Aws::Firehose::Endpoints::StopDeliveryStreamEncryption.build(context)
          when :tag_delivery_stream
            Aws::Firehose::Endpoints::TagDeliveryStream.build(context)
          when :untag_delivery_stream
            Aws::Firehose::Endpoints::UntagDeliveryStream.build(context)
          when :update_destination
            Aws::Firehose::Endpoints::UpdateDestination.build(context)
          end