Class: Seahorse::Client::Plugin

Inherits:
Object
  • Object
show all
Extended by:
HandlerBuilder
Defined in:
gems/aws-sdk-core/lib/seahorse/client/plugin.rb

Direct Known Subclasses

Aws::ACM::Plugins::Endpoints, Aws::ACMPCA::Plugins::Endpoints, Aws::APIGateway::Plugins::Endpoints, Aws::ARCZonalShift::Plugins::Endpoints, Aws::AccessAnalyzer::Plugins::Endpoints, Aws::Account::Plugins::Endpoints, Aws::AlexaForBusiness::Plugins::Endpoints, Aws::Amplify::Plugins::Endpoints, Aws::AmplifyBackend::Plugins::Endpoints, Aws::AmplifyUIBuilder::Plugins::Endpoints, Aws::ApiGatewayManagementApi::Plugins::Endpoints, Aws::ApiGatewayV2::Plugins::Endpoints, Aws::AppConfig::Plugins::Endpoints, Aws::AppConfigData::Plugins::Endpoints, Aws::AppIntegrationsService::Plugins::Endpoints, Aws::AppMesh::Plugins::Endpoints, Aws::AppRegistry::Plugins::Endpoints, Aws::AppRunner::Plugins::Endpoints, Aws::AppStream::Plugins::Endpoints, Aws::AppSync::Plugins::Endpoints, Aws::Appflow::Plugins::Endpoints, Aws::ApplicationAutoScaling::Plugins::Endpoints, Aws::ApplicationCostProfiler::Plugins::Endpoints, Aws::ApplicationDiscoveryService::Plugins::Endpoints, Aws::ApplicationInsights::Plugins::Endpoints, Aws::Athena::Plugins::Endpoints, Aws::AuditManager::Plugins::Endpoints, Aws::AugmentedAIRuntime::Plugins::Endpoints, Aws::AutoScaling::Plugins::Endpoints, Aws::AutoScalingPlans::Plugins::Endpoints, Aws::Backup::Plugins::Endpoints, Aws::BackupGateway::Plugins::Endpoints, Aws::BackupStorage::Plugins::Endpoints, Aws::Batch::Plugins::Endpoints, Aws::BillingConductor::Plugins::Endpoints, Aws::Braket::Plugins::Endpoints, Aws::Budgets::Plugins::Endpoints, Aws::Chime::Plugins::Endpoints, Aws::ChimeSDKIdentity::Plugins::Endpoints, Aws::ChimeSDKMediaPipelines::Plugins::Endpoints, Aws::ChimeSDKMeetings::Plugins::Endpoints, Aws::ChimeSDKMessaging::Plugins::Endpoints, Aws::ChimeSDKVoice::Plugins::Endpoints, Aws::CleanRooms::Plugins::Endpoints, Aws::Cloud9::Plugins::Endpoints, Aws::CloudControlApi::Plugins::Endpoints, Aws::CloudDirectory::Plugins::Endpoints, Aws::CloudFormation::Plugins::Endpoints, Aws::CloudFront::Plugins::Endpoints, Aws::CloudHSM::Plugins::Endpoints, Aws::CloudHSMV2::Plugins::Endpoints, Aws::CloudSearch::Plugins::Endpoints, Aws::CloudSearchDomain::Plugins::ConditionalSigning, Aws::CloudSearchDomain::Plugins::SwitchToPost, Aws::CloudTrail::Plugins::Endpoints, Aws::CloudTrailData::Plugins::Endpoints, Aws::CloudWatch::Plugins::Endpoints, Aws::CloudWatchEvents::Plugins::Endpoints, Aws::CloudWatchEvidently::Plugins::Endpoints, Aws::CloudWatchLogs::Plugins::Endpoints, Aws::CloudWatchRUM::Plugins::Endpoints, Aws::CodeArtifact::Plugins::Endpoints, Aws::CodeBuild::Plugins::Endpoints, Aws::CodeCatalyst::Plugins::Endpoints, Aws::CodeCommit::Plugins::Endpoints, Aws::CodeDeploy::Plugins::Endpoints, Aws::CodeGuruProfiler::Plugins::Endpoints, Aws::CodeGuruReviewer::Plugins::Endpoints, Aws::CodePipeline::Plugins::Endpoints, Aws::CodeStar::Plugins::Endpoints, Aws::CodeStarNotifications::Plugins::Endpoints, Aws::CodeStarconnections::Plugins::Endpoints, Aws::CognitoIdentity::Plugins::Endpoints, Aws::CognitoIdentityProvider::Plugins::Endpoints, Aws::CognitoSync::Plugins::Endpoints, Aws::Comprehend::Plugins::Endpoints, Aws::ComprehendMedical::Plugins::Endpoints, Aws::ComputeOptimizer::Plugins::Endpoints, Aws::ConfigService::Plugins::Endpoints, Aws::Connect::Plugins::Endpoints, Aws::ConnectCampaignService::Plugins::Endpoints, Aws::ConnectCases::Plugins::Endpoints, Aws::ConnectContactLens::Plugins::Endpoints, Aws::ConnectParticipant::Plugins::Endpoints, Aws::ConnectWisdomService::Plugins::Endpoints, Aws::ControlTower::Plugins::Endpoints, Aws::CostExplorer::Plugins::Endpoints, Aws::CostandUsageReportService::Plugins::Endpoints, Aws::CustomerProfiles::Plugins::Endpoints, Aws::DAX::Plugins::Endpoints, Aws::DLM::Plugins::Endpoints, Aws::DataExchange::Plugins::Endpoints, Aws::DataPipeline::Plugins::Endpoints, Aws::DataSync::Plugins::Endpoints, Aws::DatabaseMigrationService::Plugins::Endpoints, Aws::Detective::Plugins::Endpoints, Aws::DevOpsGuru::Plugins::Endpoints, Aws::DeviceFarm::Plugins::Endpoints, Aws::DirectConnect::Plugins::Endpoints, Aws::DirectoryService::Plugins::Endpoints, Aws::DocDB::Plugins::CrossRegionCopying, Aws::DocDB::Plugins::Endpoints, Aws::DocDBElastic::Plugins::Endpoints, Aws::Drs::Plugins::Endpoints, Aws::DynamoDB::Plugins::CRC32Validation, Aws::DynamoDB::Plugins::Endpoints, Aws::DynamoDB::Plugins::ExtendedRetries, Aws::DynamoDB::Plugins::SimpleAttributes, Aws::DynamoDBStreams::Plugins::Endpoints, Aws::DynamoDBStreams::Plugins::SimpleAttributes, Aws::EBS::Plugins::Endpoints, Aws::EC2::Plugins::Endpoints, Aws::EC2InstanceConnect::Plugins::Endpoints, Aws::ECR::Plugins::Endpoints, Aws::ECRPublic::Plugins::Endpoints, Aws::ECS::Plugins::Endpoints, Aws::EFS::Plugins::Endpoints, Aws::EKS::Plugins::Endpoints, Aws::EMR::Plugins::Endpoints, Aws::EMRContainers::Plugins::Endpoints, Aws::EMRServerless::Plugins::Endpoints, Aws::ElastiCache::Plugins::Endpoints, Aws::ElasticBeanstalk::Plugins::Endpoints, Aws::ElasticInference::Plugins::Endpoints, Aws::ElasticLoadBalancing::Plugins::Endpoints, Aws::ElasticLoadBalancingV2::Plugins::Endpoints, Aws::ElasticTranscoder::Plugins::Endpoints, Aws::ElasticsearchService::Plugins::Endpoints, Aws::EventBridge::Plugins::Endpoints, Aws::FIS::Plugins::Endpoints, Aws::FMS::Plugins::Endpoints, Aws::FSx::Plugins::Endpoints, Aws::FinSpaceData::Plugins::ContentType, Aws::FinSpaceData::Plugins::Endpoints, Aws::Finspace::Plugins::ContentType, Aws::Finspace::Plugins::Endpoints, Aws::Firehose::Plugins::Endpoints, Aws::ForecastQueryService::Plugins::Endpoints, Aws::ForecastService::Plugins::Endpoints, Aws::FraudDetector::Plugins::Endpoints, Aws::GameLift::Plugins::Endpoints, Aws::GameSparks::Plugins::Endpoints, Aws::Glacier::Plugins::AccountId, Aws::Glacier::Plugins::Endpoints, Aws::GlobalAccelerator::Plugins::Endpoints, Aws::Glue::Plugins::Endpoints, Aws::GlueDataBrew::Plugins::Endpoints, Aws::Greengrass::Plugins::Endpoints, Aws::GreengrassV2::Plugins::Endpoints, Aws::GroundStation::Plugins::Endpoints, Aws::GuardDuty::Plugins::Endpoints, Aws::Health::Plugins::Endpoints, Aws::HealthLake::Plugins::Endpoints, Aws::Honeycode::Plugins::Endpoints, Aws::IAM::Plugins::Endpoints, Aws::IVS::Plugins::Endpoints, Aws::IdentityStore::Plugins::Endpoints, Aws::Imagebuilder::Plugins::Endpoints, Aws::Inspector2::Plugins::Endpoints, Aws::Inspector::Plugins::Endpoints, Aws::IoT1ClickDevicesService::Plugins::Endpoints, Aws::IoT1ClickProjects::Plugins::Endpoints, Aws::IoT::Plugins::Endpoints, Aws::IoTAnalytics::Plugins::Endpoints, Aws::IoTDataPlane::Plugins::Endpoints, Aws::IoTDeviceAdvisor::Plugins::Endpoints, Aws::IoTEvents::Plugins::Endpoints, Aws::IoTEventsData::Plugins::Endpoints, Aws::IoTFleetHub::Plugins::Endpoints, Aws::IoTFleetWise::Plugins::Endpoints, Aws::IoTJobsDataPlane::Plugins::Endpoints, Aws::IoTRoboRunner::Plugins::Endpoints, Aws::IoTSecureTunneling::Plugins::Endpoints, Aws::IoTSiteWise::Plugins::Endpoints, Aws::IoTThingsGraph::Plugins::Endpoints, Aws::IoTTwinMaker::Plugins::Endpoints, Aws::IoTWireless::Plugins::Endpoints, Aws::Ivschat::Plugins::Endpoints, Aws::KMS::Plugins::Endpoints, Aws::Kafka::Plugins::Endpoints, Aws::KafkaConnect::Plugins::Endpoints, Aws::Kendra::Plugins::Endpoints, Aws::KendraRanking::Plugins::Endpoints, Aws::Keyspaces::Plugins::Endpoints, Aws::Kinesis::Plugins::Endpoints, Aws::KinesisAnalytics::Plugins::Endpoints, Aws::KinesisAnalyticsV2::Plugins::Endpoints, Aws::KinesisVideo::Plugins::Endpoints, Aws::KinesisVideoArchivedMedia::Plugins::Endpoints, Aws::KinesisVideoMedia::Plugins::Endpoints, Aws::KinesisVideoSignalingChannels::Plugins::Endpoints, Aws::KinesisVideoWebRTCStorage::Plugins::Endpoints, Aws::LakeFormation::Plugins::Endpoints, Aws::Lambda::Plugins::Endpoints, Aws::Lex::Plugins::Endpoints, Aws::LexModelBuildingService::Plugins::Endpoints, Aws::LexModelsV2::Plugins::Endpoints, Aws::LexRuntimeV2::Plugins::Endpoints, Aws::LicenseManager::Plugins::Endpoints, Aws::LicenseManagerLinuxSubscriptions::Plugins::Endpoints, Aws::LicenseManagerUserSubscriptions::Plugins::Endpoints, Aws::Lightsail::Plugins::Endpoints, Aws::LocationService::Plugins::Endpoints, Aws::LookoutEquipment::Plugins::Endpoints, Aws::LookoutMetrics::Plugins::Endpoints, Aws::LookoutforVision::Plugins::Endpoints, Aws::MQ::Plugins::Endpoints, Aws::MTurk::Plugins::Endpoints, Aws::MWAA::Plugins::Endpoints, Aws::MachineLearning::Plugins::Endpoints, Aws::Macie2::Plugins::Endpoints, Aws::Macie::Plugins::Endpoints, Aws::MainframeModernization::Plugins::Endpoints, Aws::ManagedBlockchain::Plugins::Endpoints, Aws::ManagedGrafana::Plugins::Endpoints, Aws::MarketplaceCatalog::Plugins::Endpoints, Aws::MarketplaceCommerceAnalytics::Plugins::Endpoints, Aws::MarketplaceEntitlementService::Plugins::Endpoints, Aws::MarketplaceMetering::Plugins::Endpoints, Aws::MediaConnect::Plugins::Endpoints, Aws::MediaConvert::Plugins::Endpoints, Aws::MediaLive::Plugins::Endpoints, Aws::MediaPackage::Plugins::Endpoints, Aws::MediaPackageVod::Plugins::Endpoints, Aws::MediaStore::Plugins::Endpoints, Aws::MediaStoreData::Plugins::Endpoints, Aws::MediaTailor::Plugins::Endpoints, Aws::MemoryDB::Plugins::Endpoints, Aws::Mgn::Plugins::Endpoints, Aws::MigrationHub::Plugins::Endpoints, Aws::MigrationHubConfig::Plugins::Endpoints, Aws::MigrationHubOrchestrator::Plugins::Endpoints, Aws::MigrationHubRefactorSpaces::Plugins::Endpoints, Aws::MigrationHubStrategyRecommendations::Plugins::Endpoints, Aws::Mobile::Plugins::Endpoints, Aws::Neptune::Plugins::CrossRegionCopying, Aws::Neptune::Plugins::Endpoints, Aws::NetworkFirewall::Plugins::Endpoints, Aws::NetworkManager::Plugins::Endpoints, Aws::NimbleStudio::Plugins::Endpoints, Aws::OAM::Plugins::Endpoints, Aws::Omics::Plugins::Endpoints, Aws::OpenSearchServerless::Plugins::Endpoints, Aws::OpenSearchService::Plugins::Endpoints, Aws::OpsWorks::Plugins::Endpoints, Aws::OpsWorksCM::Plugins::Endpoints, Aws::Organizations::Plugins::Endpoints, Aws::Outposts::Plugins::Endpoints, Aws::PI::Plugins::Endpoints, Aws::Panorama::Plugins::Endpoints, Aws::Personalize::Plugins::Endpoints, Aws::PersonalizeEvents::Plugins::Endpoints, Aws::PersonalizeRuntime::Plugins::Endpoints, Aws::Pinpoint::Plugins::Endpoints, Aws::PinpointEmail::Plugins::Endpoints, Aws::PinpointSMSVoice::Plugins::Endpoints, Aws::PinpointSMSVoiceV2::Plugins::Endpoints, Aws::Pipes::Plugins::Endpoints, Aws::Plugins::ApiKey, Aws::Polly::Plugins::Endpoints, Aws::Pricing::Plugins::Endpoints, Aws::PrivateNetworks::Plugins::Endpoints, Aws::PrometheusService::Plugins::Endpoints, Aws::Proton::Plugins::Endpoints, Aws::QLDB::Plugins::Endpoints, Aws::QLDBSession::Plugins::Endpoints, Aws::QuickSight::Plugins::Endpoints, Aws::RAM::Plugins::Endpoints, Aws::RDS::Plugins::CrossRegionCopying, Aws::RDS::Plugins::Endpoints, Aws::RDSDataService::Plugins::Endpoints, Aws::RecycleBin::Plugins::Endpoints, Aws::Redshift::Plugins::Endpoints, Aws::RedshiftDataAPIService::Plugins::Endpoints, Aws::RedshiftServerless::Plugins::Endpoints, Aws::Rekognition::Plugins::Endpoints, Aws::ResilienceHub::Plugins::Endpoints, Aws::ResourceExplorer2::Plugins::Endpoints, Aws::ResourceGroups::Plugins::Endpoints, Aws::ResourceGroupsTaggingAPI::Plugins::Endpoints, Aws::RoboMaker::Plugins::Endpoints, Aws::RolesAnywhere::Plugins::Endpoints, Aws::Route53::Plugins::Endpoints, Aws::Route53Domains::Plugins::Endpoints, Aws::Route53RecoveryCluster::Plugins::Endpoints, Aws::Route53RecoveryControlConfig::Plugins::Endpoints, Aws::Route53RecoveryReadiness::Plugins::Endpoints, Aws::Route53Resolver::Plugins::Endpoints, Aws::S3::Plugins::Accelerate, Aws::S3::Plugins::BucketDns, Aws::S3::Plugins::Endpoints, Aws::S3::Plugins::Expect100Continue, Aws::S3::Plugins::GetBucketLocationFix, Aws::S3::Plugins::IADRegionalEndpoint, Aws::S3::Plugins::LocationConstraint, Aws::S3::Plugins::Redirects, Aws::S3::Plugins::SkipWholeMultipartGetChecksums, Aws::S3::Plugins::SseCpk, Aws::S3::Plugins::UrlEncodedKeys, Aws::S3Control::Plugins::Endpoints, Aws::S3Outposts::Plugins::Endpoints, Aws::SES::Plugins::Endpoints, Aws::SESV2::Plugins::Endpoints, Aws::SMS::Plugins::Endpoints, Aws::SNS::Plugins::Endpoints, Aws::SQS::Plugins::Endpoints, Aws::SQS::Plugins::Md5s, Aws::SSM::Plugins::Endpoints, Aws::SSMContacts::Plugins::Endpoints, Aws::SSMIncidents::Plugins::Endpoints, Aws::SSO::Plugins::Endpoints, Aws::SSOAdmin::Plugins::Endpoints, Aws::SSOOIDC::Plugins::Endpoints, Aws::STS::Plugins::Endpoints, Aws::STS::Plugins::STSRegionalEndpoints, Aws::SWF::Plugins::Endpoints, Aws::SageMaker::Plugins::Endpoints, Aws::SageMakerFeatureStoreRuntime::Plugins::Endpoints, Aws::SageMakerGeospatial::Plugins::Endpoints, Aws::SageMakerMetrics::Plugins::Endpoints, Aws::SageMakerRuntime::Plugins::Endpoints, Aws::SagemakerEdgeManager::Plugins::Endpoints, Aws::SavingsPlans::Plugins::Endpoints, Aws::Scheduler::Plugins::Endpoints, Aws::Schemas::Plugins::Endpoints, Aws::SecretsManager::Plugins::Endpoints, Aws::SecurityHub::Plugins::Endpoints, Aws::SecurityLake::Plugins::Endpoints, Aws::ServerlessApplicationRepository::Plugins::Endpoints, Aws::ServiceCatalog::Plugins::Endpoints, Aws::ServiceDiscovery::Plugins::Endpoints, Aws::ServiceQuotas::Plugins::Endpoints, Aws::Shield::Plugins::Endpoints, Aws::Signer::Plugins::Endpoints, Aws::SimSpaceWeaver::Plugins::Endpoints, Aws::SnowDeviceManagement::Plugins::Endpoints, Aws::Snowball::Plugins::Endpoints, Aws::SsmSap::Plugins::Endpoints, Aws::States::Plugins::Endpoints, Aws::StorageGateway::Plugins::Endpoints, Aws::Support::Plugins::Endpoints, Aws::SupportApp::Plugins::Endpoints, Aws::Synthetics::Plugins::Endpoints, Aws::Textract::Plugins::Endpoints, Aws::TimestreamQuery::Plugins::Endpoints, Aws::TimestreamWrite::Plugins::Endpoints, Aws::TranscribeService::Plugins::Endpoints, Aws::TranscribeStreamingService::Plugins::Endpoints, Aws::Transfer::Plugins::Endpoints, Aws::Translate::Plugins::Endpoints, Aws::VoiceID::Plugins::Endpoints, Aws::WAF::Plugins::Endpoints, Aws::WAFRegional::Plugins::Endpoints, Aws::WAFV2::Plugins::Endpoints, Aws::WellArchitected::Plugins::Endpoints, Aws::WorkDocs::Plugins::Endpoints, Aws::WorkLink::Plugins::Endpoints, Aws::WorkMail::Plugins::Endpoints, Aws::WorkMailMessageFlow::Plugins::Endpoints, Aws::WorkSpaces::Plugins::Endpoints, Aws::WorkSpacesWeb::Plugins::Endpoints, Aws::XRay::Plugins::Endpoints, Seahorse::Client::Plugins::ContentLength, Seahorse::Client::Plugins::Endpoint, Seahorse::Client::Plugins::H2, Seahorse::Client::Plugins::NetHttp, Seahorse::Client::Plugins::OperationMethods, Seahorse::Client::Plugins::RaiseResponseErrors

Class Method Summary collapse

Instance Method Summary collapse

Methods included from HandlerBuilder

handle, handle_request, handle_response

Class Method Details

.after_initialize(&block) ⇒ Object



71
72
73
# File 'gems/aws-sdk-core/lib/seahorse/client/plugin.rb', line 71

def after_initialize(&block)
  after_initialize_hooks << block
end

.before_initialize(&block) ⇒ Object



67
68
69
# File 'gems/aws-sdk-core/lib/seahorse/client/plugin.rb', line 67

def before_initialize(&block)
  before_initialize_hooks << block
end

.option(name, options = {}, &block) ⇒ void

This method returns an undefined value.

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • :default (Object)

    Can also be set by passing a block.

  • :doc_default (String)
  • :required (Boolean)
  • :doc_type (String)
  • :docs (String)


54
55
56
57
58
59
60
61
62
63
64
65
# File 'gems/aws-sdk-core/lib/seahorse/client/plugin.rb', line 54

def option(name, default = nil, options = {}, &block)
  # For backwards-compat reasons, the default value can be passed as 2nd
  # positional argument (before the options hash) or as the `:default` option
  # in the options hash.
  if default.is_a? Hash
    options = default
  else
    options[:default] = default
  end
  options[:default_block] = block if block_given?
  self.options << PluginOption.new(name, options)
end

Instance Method Details

#add_handlers(handlers, config) ⇒ void

This method returns an undefined value.

Parameters:



24
25
26
# File 'gems/aws-sdk-core/lib/seahorse/client/plugin.rb', line 24

def add_handlers(handlers, config)
  handlers.copy_from(self.class.handlers)
end

#add_options(config) ⇒ void

This method returns an undefined value.

Parameters:



11
12
13
14
15
16
17
18
19
# File 'gems/aws-sdk-core/lib/seahorse/client/plugin.rb', line 11

def add_options(config)
  self.class.options.each do |option|
    if option.default_block
      config.add_option(option.name, &option.default_block)
    else
      config.add_option(option.name, option.default)
    end
  end
end

#after_initialize(client) ⇒ void

This method returns an undefined value.

Parameters:



39
40
41
42
43
# File 'gems/aws-sdk-core/lib/seahorse/client/plugin.rb', line 39

def after_initialize(client)
  self.class.after_initialize_hooks.each do |block|
    block.call(client)
  end
end

#before_initialize(client_class, options) ⇒ void

This method returns an undefined value.

Parameters:



31
32
33
34
35
# File 'gems/aws-sdk-core/lib/seahorse/client/plugin.rb', line 31

def before_initialize(client_class, options)
  self.class.before_initialize_hooks.each do |block|
    block.call(client_class, options)
  end
end