# 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::Pinpoint module Plugins class Endpoints < Seahorse::Client::Plugin option( :endpoint_provider, doc_type: 'Aws::Pinpoint::EndpointProvider', rbs_type: 'untyped', docstring: 'The endpoint provider used to resolve endpoints. Any '\ 'object that responds to `#resolve_endpoint(parameters)` '\ 'where `parameters` is a Struct similar to '\ '`Aws::Pinpoint::EndpointParameters`' ) do |cfg| Aws::Pinpoint::EndpointProvider.new end # @api private class Handler < Seahorse::Client::Handler def call(context) unless context[:discovered_endpoint] params = parameters_for_operation(context) endpoint = context.config.endpoint_provider.resolve_endpoint(params) context.http_request.endpoint = endpoint.url apply_endpoint_headers(context, endpoint.headers) context[:endpoint_params] = params context[:endpoint_properties] = endpoint.properties end context[:auth_scheme] = Aws::Endpoints.resolve_auth_scheme(context, endpoint) with_metrics(context) { @handler.call(context) } end private def with_metrics(context, &block) metrics = [] metrics << 'ENDPOINT_OVERRIDE' unless context.config.regional_endpoint if context[:auth_scheme] && context[:auth_scheme]['name'] == 'sigv4a' metrics << 'SIGV4A_SIGNING' end Aws::Plugins::UserAgent.metric(*metrics, &block) end def apply_endpoint_headers(context, headers) headers.each do |key, values| value = values .compact .map { |s| Seahorse::Util.escape_header_list_string(s.to_s) } .join(',') context.http_request.headers[key] = value end end def parameters_for_operation(context) case context.operation_name when :create_app Aws::Pinpoint::Endpoints::CreateApp.build(context) when :create_campaign Aws::Pinpoint::Endpoints::CreateCampaign.build(context) when :create_email_template Aws::Pinpoint::Endpoints::CreateEmailTemplate.build(context) when :create_export_job Aws::Pinpoint::Endpoints::CreateExportJob.build(context) when :create_import_job Aws::Pinpoint::Endpoints::CreateImportJob.build(context) when :create_in_app_template Aws::Pinpoint::Endpoints::CreateInAppTemplate.build(context) when :create_journey Aws::Pinpoint::Endpoints::CreateJourney.build(context) when :create_push_template Aws::Pinpoint::Endpoints::CreatePushTemplate.build(context) when :create_recommender_configuration Aws::Pinpoint::Endpoints::CreateRecommenderConfiguration.build(context) when :create_segment Aws::Pinpoint::Endpoints::CreateSegment.build(context) when :create_sms_template Aws::Pinpoint::Endpoints::CreateSmsTemplate.build(context) when :create_voice_template Aws::Pinpoint::Endpoints::CreateVoiceTemplate.build(context) when :delete_adm_channel Aws::Pinpoint::Endpoints::DeleteAdmChannel.build(context) when :delete_apns_channel Aws::Pinpoint::Endpoints::DeleteApnsChannel.build(context) when :delete_apns_sandbox_channel Aws::Pinpoint::Endpoints::DeleteApnsSandboxChannel.build(context) when :delete_apns_voip_channel Aws::Pinpoint::Endpoints::DeleteApnsVoipChannel.build(context) when :delete_apns_voip_sandbox_channel Aws::Pinpoint::Endpoints::DeleteApnsVoipSandboxChannel.build(context) when :delete_app Aws::Pinpoint::Endpoints::DeleteApp.build(context) when :delete_baidu_channel Aws::Pinpoint::Endpoints::DeleteBaiduChannel.build(context) when :delete_campaign Aws::Pinpoint::Endpoints::DeleteCampaign.build(context) when :delete_email_channel Aws::Pinpoint::Endpoints::DeleteEmailChannel.build(context) when :delete_email_template Aws::Pinpoint::Endpoints::DeleteEmailTemplate.build(context) when :delete_endpoint Aws::Pinpoint::Endpoints::DeleteEndpoint.build(context) when :delete_event_stream Aws::Pinpoint::Endpoints::DeleteEventStream.build(context) when :delete_gcm_channel Aws::Pinpoint::Endpoints::DeleteGcmChannel.build(context) when :delete_in_app_template Aws::Pinpoint::Endpoints::DeleteInAppTemplate.build(context) when :delete_journey Aws::Pinpoint::Endpoints::DeleteJourney.build(context) when :delete_push_template Aws::Pinpoint::Endpoints::DeletePushTemplate.build(context) when :delete_recommender_configuration Aws::Pinpoint::Endpoints::DeleteRecommenderConfiguration.build(context) when :delete_segment Aws::Pinpoint::Endpoints::DeleteSegment.build(context) when :delete_sms_channel Aws::Pinpoint::Endpoints::DeleteSmsChannel.build(context) when :delete_sms_template Aws::Pinpoint::Endpoints::DeleteSmsTemplate.build(context) when :delete_user_endpoints Aws::Pinpoint::Endpoints::DeleteUserEndpoints.build(context) when :delete_voice_channel Aws::Pinpoint::Endpoints::DeleteVoiceChannel.build(context) when :delete_voice_template Aws::Pinpoint::Endpoints::DeleteVoiceTemplate.build(context) when :get_adm_channel Aws::Pinpoint::Endpoints::GetAdmChannel.build(context) when :get_apns_channel Aws::Pinpoint::Endpoints::GetApnsChannel.build(context) when :get_apns_sandbox_channel Aws::Pinpoint::Endpoints::GetApnsSandboxChannel.build(context) when :get_apns_voip_channel Aws::Pinpoint::Endpoints::GetApnsVoipChannel.build(context) when :get_apns_voip_sandbox_channel Aws::Pinpoint::Endpoints::GetApnsVoipSandboxChannel.build(context) when :get_app Aws::Pinpoint::Endpoints::GetApp.build(context) when :get_application_date_range_kpi Aws::Pinpoint::Endpoints::GetApplicationDateRangeKpi.build(context) when :get_application_settings Aws::Pinpoint::Endpoints::GetApplicationSettings.build(context) when :get_apps Aws::Pinpoint::Endpoints::GetApps.build(context) when :get_baidu_channel Aws::Pinpoint::Endpoints::GetBaiduChannel.build(context) when :get_campaign Aws::Pinpoint::Endpoints::GetCampaign.build(context) when :get_campaign_activities Aws::Pinpoint::Endpoints::GetCampaignActivities.build(context) when :get_campaign_date_range_kpi Aws::Pinpoint::Endpoints::GetCampaignDateRangeKpi.build(context) when :get_campaign_version Aws::Pinpoint::Endpoints::GetCampaignVersion.build(context) when :get_campaign_versions Aws::Pinpoint::Endpoints::GetCampaignVersions.build(context) when :get_campaigns Aws::Pinpoint::Endpoints::GetCampaigns.build(context) when :get_channels Aws::Pinpoint::Endpoints::GetChannels.build(context) when :get_email_channel Aws::Pinpoint::Endpoints::GetEmailChannel.build(context) when :get_email_template Aws::Pinpoint::Endpoints::GetEmailTemplate.build(context) when :get_endpoint Aws::Pinpoint::Endpoints::GetEndpoint.build(context) when :get_event_stream Aws::Pinpoint::Endpoints::GetEventStream.build(context) when :get_export_job Aws::Pinpoint::Endpoints::GetExportJob.build(context) when :get_export_jobs Aws::Pinpoint::Endpoints::GetExportJobs.build(context) when :get_gcm_channel Aws::Pinpoint::Endpoints::GetGcmChannel.build(context) when :get_import_job Aws::Pinpoint::Endpoints::GetImportJob.build(context) when :get_import_jobs Aws::Pinpoint::Endpoints::GetImportJobs.build(context) when :get_in_app_messages Aws::Pinpoint::Endpoints::GetInAppMessages.build(context) when :get_in_app_template Aws::Pinpoint::Endpoints::GetInAppTemplate.build(context) when :get_journey Aws::Pinpoint::Endpoints::GetJourney.build(context) when :get_journey_date_range_kpi Aws::Pinpoint::Endpoints::GetJourneyDateRangeKpi.build(context) when :get_journey_execution_activity_metrics Aws::Pinpoint::Endpoints::GetJourneyExecutionActivityMetrics.build(context) when :get_journey_execution_metrics Aws::Pinpoint::Endpoints::GetJourneyExecutionMetrics.build(context) when :get_journey_run_execution_activity_metrics Aws::Pinpoint::Endpoints::GetJourneyRunExecutionActivityMetrics.build(context) when :get_journey_run_execution_metrics Aws::Pinpoint::Endpoints::GetJourneyRunExecutionMetrics.build(context) when :get_journey_runs Aws::Pinpoint::Endpoints::GetJourneyRuns.build(context) when :get_push_template Aws::Pinpoint::Endpoints::GetPushTemplate.build(context) when :get_recommender_configuration Aws::Pinpoint::Endpoints::GetRecommenderConfiguration.build(context) when :get_recommender_configurations Aws::Pinpoint::Endpoints::GetRecommenderConfigurations.build(context) when :get_segment Aws::Pinpoint::Endpoints::GetSegment.build(context) when :get_segment_export_jobs Aws::Pinpoint::Endpoints::GetSegmentExportJobs.build(context) when :get_segment_import_jobs Aws::Pinpoint::Endpoints::GetSegmentImportJobs.build(context) when :get_segment_version Aws::Pinpoint::Endpoints::GetSegmentVersion.build(context) when :get_segment_versions Aws::Pinpoint::Endpoints::GetSegmentVersions.build(context) when :get_segments Aws::Pinpoint::Endpoints::GetSegments.build(context) when :get_sms_channel Aws::Pinpoint::Endpoints::GetSmsChannel.build(context) when :get_sms_template Aws::Pinpoint::Endpoints::GetSmsTemplate.build(context) when :get_user_endpoints Aws::Pinpoint::Endpoints::GetUserEndpoints.build(context) when :get_voice_channel Aws::Pinpoint::Endpoints::GetVoiceChannel.build(context) when :get_voice_template Aws::Pinpoint::Endpoints::GetVoiceTemplate.build(context) when :list_journeys Aws::Pinpoint::Endpoints::ListJourneys.build(context) when :list_tags_for_resource Aws::Pinpoint::Endpoints::ListTagsForResource.build(context) when :list_template_versions Aws::Pinpoint::Endpoints::ListTemplateVersions.build(context) when :list_templates Aws::Pinpoint::Endpoints::ListTemplates.build(context) when :phone_number_validate Aws::Pinpoint::Endpoints::PhoneNumberValidate.build(context) when :put_event_stream Aws::Pinpoint::Endpoints::PutEventStream.build(context) when :put_events Aws::Pinpoint::Endpoints::PutEvents.build(context) when :remove_attributes Aws::Pinpoint::Endpoints::RemoveAttributes.build(context) when :send_messages Aws::Pinpoint::Endpoints::SendMessages.build(context) when :send_otp_message Aws::Pinpoint::Endpoints::SendOTPMessage.build(context) when :send_users_messages Aws::Pinpoint::Endpoints::SendUsersMessages.build(context) when :tag_resource Aws::Pinpoint::Endpoints::TagResource.build(context) when :untag_resource Aws::Pinpoint::Endpoints::UntagResource.build(context) when :update_adm_channel Aws::Pinpoint::Endpoints::UpdateAdmChannel.build(context) when :update_apns_channel Aws::Pinpoint::Endpoints::UpdateApnsChannel.build(context) when :update_apns_sandbox_channel Aws::Pinpoint::Endpoints::UpdateApnsSandboxChannel.build(context) when :update_apns_voip_channel Aws::Pinpoint::Endpoints::UpdateApnsVoipChannel.build(context) when :update_apns_voip_sandbox_channel Aws::Pinpoint::Endpoints::UpdateApnsVoipSandboxChannel.build(context) when :update_application_settings Aws::Pinpoint::Endpoints::UpdateApplicationSettings.build(context) when :update_baidu_channel Aws::Pinpoint::Endpoints::UpdateBaiduChannel.build(context) when :update_campaign Aws::Pinpoint::Endpoints::UpdateCampaign.build(context) when :update_email_channel Aws::Pinpoint::Endpoints::UpdateEmailChannel.build(context) when :update_email_template Aws::Pinpoint::Endpoints::UpdateEmailTemplate.build(context) when :update_endpoint Aws::Pinpoint::Endpoints::UpdateEndpoint.build(context) when :update_endpoints_batch Aws::Pinpoint::Endpoints::UpdateEndpointsBatch.build(context) when :update_gcm_channel Aws::Pinpoint::Endpoints::UpdateGcmChannel.build(context) when :update_in_app_template Aws::Pinpoint::Endpoints::UpdateInAppTemplate.build(context) when :update_journey Aws::Pinpoint::Endpoints::UpdateJourney.build(context) when :update_journey_state Aws::Pinpoint::Endpoints::UpdateJourneyState.build(context) when :update_push_template Aws::Pinpoint::Endpoints::UpdatePushTemplate.build(context) when :update_recommender_configuration Aws::Pinpoint::Endpoints::UpdateRecommenderConfiguration.build(context) when :update_segment Aws::Pinpoint::Endpoints::UpdateSegment.build(context) when :update_sms_channel Aws::Pinpoint::Endpoints::UpdateSmsChannel.build(context) when :update_sms_template Aws::Pinpoint::Endpoints::UpdateSmsTemplate.build(context) when :update_template_active_version Aws::Pinpoint::Endpoints::UpdateTemplateActiveVersion.build(context) when :update_voice_channel Aws::Pinpoint::Endpoints::UpdateVoiceChannel.build(context) when :update_voice_template Aws::Pinpoint::Endpoints::UpdateVoiceTemplate.build(context) when :verify_otp_message Aws::Pinpoint::Endpoints::VerifyOTPMessage.build(context) end end end def add_handlers(handlers, _config) handlers.add(Handler, step: :build, priority: 75) end end end end