Class: Seahorse::Client::Base

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

Direct Known Subclasses

Aws::ACM::Client, Aws::ACMPCA::Client, Aws::AIOps::Client, Aws::APIGateway::Client, Aws::ARCZonalShift::Client, Aws::AccessAnalyzer::Client, Aws::Account::Client, Aws::Amplify::Client, Aws::AmplifyBackend::Client, Aws::AmplifyUIBuilder::Client, Aws::ApiGatewayManagementApi::Client, Aws::ApiGatewayV2::Client, Aws::AppConfig::Client, Aws::AppConfigData::Client, Aws::AppFabric::Client, Aws::AppIntegrationsService::Client, Aws::AppMesh::Client, Aws::AppRegistry::Client, Aws::AppRunner::Client, Aws::AppStream::Client, Aws::AppSync::Client, Aws::AppTest::Client, Aws::Appflow::Client, Aws::ApplicationAutoScaling::Client, Aws::ApplicationCostProfiler::Client, Aws::ApplicationDiscoveryService::Client, Aws::ApplicationInsights::Client, Aws::ApplicationSignals::Client, Aws::Artifact::Client, Aws::Athena::Client, Aws::AuditManager::Client, Aws::AugmentedAIRuntime::Client, Aws::AutoScaling::Client, Aws::AutoScalingPlans::Client, Aws::B2bi::Client, Aws::BCMDataExports::Client, Aws::BCMPricingCalculator::Client, Aws::Backup::Client, Aws::BackupGateway::Client, Aws::BackupSearch::Client, Aws::Batch::Client, Aws::Bedrock::Client, Aws::BedrockAgent::Client, Aws::BedrockAgentCore::Client, Aws::BedrockAgentCoreControl::Client, Aws::BedrockAgentRuntime::Client, Aws::BedrockDataAutomation::Client, Aws::BedrockDataAutomationRuntime::Client, Aws::BedrockRuntime::Client, Aws::Billing::Client, Aws::BillingConductor::Client, Aws::Braket::Client, Aws::Budgets::Client, Aws::Chatbot::Client, Aws::Chime::Client, Aws::ChimeSDKIdentity::Client, Aws::ChimeSDKMediaPipelines::Client, Aws::ChimeSDKMeetings::Client, Aws::ChimeSDKMessaging::Client, Aws::ChimeSDKVoice::Client, Aws::CleanRooms::Client, Aws::CleanRoomsML::Client, Aws::Cloud9::Client, Aws::CloudControlApi::Client, Aws::CloudDirectory::Client, Aws::CloudFormation::Client, Aws::CloudFront::Client, Aws::CloudFrontKeyValueStore::Client, Aws::CloudHSM::Client, Aws::CloudHSMV2::Client, Aws::CloudSearch::Client, Aws::CloudSearchDomain::Client, Aws::CloudTrail::Client, Aws::CloudTrailData::Client, Aws::CloudWatch::Client, Aws::CloudWatchEvents::Client, Aws::CloudWatchEvidently::Client, Aws::CloudWatchLogs::Client, Aws::CloudWatchRUM::Client, Aws::CodeArtifact::Client, Aws::CodeBuild::Client, Aws::CodeCatalyst::Client, Aws::CodeCommit::Client, Aws::CodeConnections::Client, Aws::CodeDeploy::Client, Aws::CodeGuruProfiler::Client, Aws::CodeGuruReviewer::Client, Aws::CodeGuruSecurity::Client, Aws::CodePipeline::Client, Aws::CodeStarNotifications::Client, Aws::CodeStarconnections::Client, Aws::CognitoIdentity::Client, Aws::CognitoIdentityProvider::Client, Aws::CognitoSync::Client, Aws::Comprehend::Client, Aws::ComprehendMedical::Client, Aws::ComputeOptimizer::Client, Aws::ConfigService::Client, Aws::Connect::Client, Aws::ConnectCampaignService::Client, Aws::ConnectCampaignsV2::Client, Aws::ConnectCases::Client, Aws::ConnectContactLens::Client, Aws::ConnectParticipant::Client, Aws::ConnectWisdomService::Client, Aws::ControlCatalog::Client, Aws::ControlTower::Client, Aws::CostExplorer::Client, Aws::CostOptimizationHub::Client, Aws::CostandUsageReportService::Client, Aws::CustomerProfiles::Client, Aws::DAX::Client, Aws::DLM::Client, Aws::DSQL::Client, Aws::DataExchange::Client, Aws::DataPipeline::Client, Aws::DataSync::Client, Aws::DataZone::Client, Aws::DatabaseMigrationService::Client, Aws::Deadline::Client, Aws::Detective::Client, Aws::DevOpsGuru::Client, Aws::DeviceFarm::Client, Aws::DirectConnect::Client, Aws::DirectoryService::Client, Aws::DirectoryServiceData::Client, Aws::DocDB::Client, Aws::DocDBElastic::Client, Aws::Drs::Client, Aws::DynamoDB::Client, Aws::DynamoDBStreams::Client, Aws::EBS::Client, Aws::EC2::Client, Aws::EC2InstanceConnect::Client, Aws::ECR::Client, Aws::ECRPublic::Client, Aws::ECS::Client, Aws::EFS::Client, Aws::EKS::Client, Aws::EKSAuth::Client, Aws::EMR::Client, Aws::EMRContainers::Client, Aws::EMRServerless::Client, Aws::ElastiCache::Client, Aws::ElasticBeanstalk::Client, Aws::ElasticLoadBalancing::Client, Aws::ElasticLoadBalancingV2::Client, Aws::ElasticTranscoder::Client, Aws::ElasticsearchService::Client, Aws::EntityResolution::Client, Aws::EventBridge::Client, Aws::Evs::Client, Aws::FIS::Client, Aws::FMS::Client, Aws::FSx::Client, Aws::FinSpaceData::Client, Aws::Finspace::Client, Aws::Firehose::Client, Aws::ForecastQueryService::Client, Aws::ForecastService::Client, Aws::FraudDetector::Client, Aws::FreeTier::Client, Aws::GameLift::Client, Aws::GameLiftStreams::Client, Aws::GeoMaps::Client, Aws::GeoPlaces::Client, Aws::GeoRoutes::Client, Aws::Glacier::Client, Aws::GlobalAccelerator::Client, Aws::Glue::Client, Aws::GlueDataBrew::Client, Aws::Greengrass::Client, Aws::GreengrassV2::Client, Aws::GroundStation::Client, Aws::GuardDuty::Client, Aws::Health::Client, Aws::HealthLake::Client, Aws::IAM::Client, Aws::IVS::Client, Aws::IVSRealTime::Client, Aws::IdentityStore::Client, Aws::Imagebuilder::Client, Aws::ImportExport::Client, Aws::Inspector2::Client, Aws::Inspector::Client, Aws::InspectorScan::Client, Aws::InternetMonitor::Client, Aws::Invoicing::Client, Aws::IoT::Client, Aws::IoTAnalytics::Client, Aws::IoTDataPlane::Client, Aws::IoTDeviceAdvisor::Client, Aws::IoTEvents::Client, Aws::IoTEventsData::Client, Aws::IoTFleetHub::Client, Aws::IoTFleetWise::Client, Aws::IoTJobsDataPlane::Client, Aws::IoTManagedIntegrations::Client, Aws::IoTSecureTunneling::Client, Aws::IoTSiteWise::Client, Aws::IoTThingsGraph::Client, Aws::IoTTwinMaker::Client, Aws::IoTWireless::Client, Aws::Ivschat::Client, Aws::KMS::Client, Aws::Kafka::Client, Aws::KafkaConnect::Client, Aws::Kendra::Client, Aws::KendraRanking::Client, Aws::Keyspaces::Client, Aws::KeyspacesStreams::Client, Aws::Kinesis::Client, Aws::KinesisAnalytics::Client, Aws::KinesisAnalyticsV2::Client, Aws::KinesisVideo::Client, Aws::KinesisVideoArchivedMedia::Client, Aws::KinesisVideoMedia::Client, Aws::KinesisVideoSignalingChannels::Client, Aws::KinesisVideoWebRTCStorage::Client, Aws::LakeFormation::Client, Aws::Lambda::Client, Aws::LaunchWizard::Client, Aws::Lex::Client, Aws::LexModelBuildingService::Client, Aws::LexModelsV2::Client, Aws::LexRuntimeV2::Client, Aws::LicenseManager::Client, Aws::LicenseManagerLinuxSubscriptions::Client, Aws::LicenseManagerUserSubscriptions::Client, Aws::Lightsail::Client, Aws::LocationService::Client, Aws::LookoutEquipment::Client, Aws::LookoutMetrics::Client, Aws::LookoutforVision::Client, Aws::MPA::Client, Aws::MQ::Client, Aws::MTurk::Client, Aws::MWAA::Client, Aws::MachineLearning::Client, Aws::Macie2::Client, Aws::MailManager::Client, Aws::MainframeModernization::Client, Aws::ManagedBlockchain::Client, Aws::ManagedBlockchainQuery::Client, Aws::ManagedGrafana::Client, Aws::MarketplaceAgreement::Client, Aws::MarketplaceCatalog::Client, Aws::MarketplaceCommerceAnalytics::Client, Aws::MarketplaceDeployment::Client, Aws::MarketplaceEntitlementService::Client, Aws::MarketplaceMetering::Client, Aws::MarketplaceReporting::Client, Aws::MediaConnect::Client, Aws::MediaConvert::Client, Aws::MediaLive::Client, Aws::MediaPackage::Client, Aws::MediaPackageV2::Client, Aws::MediaPackageVod::Client, Aws::MediaStore::Client, Aws::MediaStoreData::Client, Aws::MediaTailor::Client, Aws::MedicalImaging::Client, Aws::MemoryDB::Client, Aws::Mgn::Client, Aws::MigrationHub::Client, Aws::MigrationHubConfig::Client, Aws::MigrationHubOrchestrator::Client, Aws::MigrationHubRefactorSpaces::Client, Aws::MigrationHubStrategyRecommendations::Client, Aws::Neptune::Client, Aws::NeptuneGraph::Client, Aws::Neptunedata::Client, Aws::NetworkFirewall::Client, Aws::NetworkFlowMonitor::Client, Aws::NetworkManager::Client, Aws::NetworkMonitor::Client, Aws::Notifications::Client, Aws::NotificationsContacts::Client, Aws::OAM::Client, Aws::OSIS::Client, Aws::ObservabilityAdmin::Client, Aws::Odb::Client, Aws::Omics::Client, Aws::OpenSearchServerless::Client, Aws::OpenSearchService::Client, Aws::OpsWorks::Client, Aws::OpsWorksCM::Client, Aws::Organizations::Client, Aws::Outposts::Client, Aws::PCS::Client, Aws::PI::Client, Aws::Panorama::Client, Aws::PartnerCentralSelling::Client, Aws::PaymentCryptography::Client, Aws::PaymentCryptographyData::Client, Aws::PcaConnectorAd::Client, Aws::PcaConnectorScep::Client, Aws::Personalize::Client, Aws::PersonalizeEvents::Client, Aws::PersonalizeRuntime::Client, Aws::Pinpoint::Client, Aws::PinpointEmail::Client, Aws::PinpointSMSVoice::Client, Aws::PinpointSMSVoiceV2::Client, Aws::Pipes::Client, Aws::Polly::Client, Aws::Pricing::Client, Aws::PrometheusService::Client, Aws::Proton::Client, Aws::QApps::Client, Aws::QBusiness::Client, Aws::QConnect::Client, Aws::QLDB::Client, Aws::QLDBSession::Client, Aws::QuickSight::Client, Aws::RAM::Client, Aws::RDS::Client, Aws::RDSDataService::Client, Aws::RecycleBin::Client, Aws::Redshift::Client, Aws::RedshiftDataAPIService::Client, Aws::RedshiftServerless::Client, Aws::Rekognition::Client, Aws::Repostspace::Client, Aws::ResilienceHub::Client, Aws::ResourceExplorer2::Client, Aws::ResourceGroups::Client, Aws::ResourceGroupsTaggingAPI::Client, Aws::RoboMaker::Client, Aws::RolesAnywhere::Client, Aws::Route53::Client, Aws::Route53Domains::Client, Aws::Route53Profiles::Client, Aws::Route53RecoveryCluster::Client, Aws::Route53RecoveryControlConfig::Client, Aws::Route53RecoveryReadiness::Client, Aws::Route53Resolver::Client, Aws::S3::Client, Aws::S3Control::Client, Aws::S3Outposts::Client, Aws::S3Tables::Client, Aws::S3Vectors::Client, Aws::SES::Client, Aws::SESV2::Client, Aws::SMS::Client, Aws::SNS::Client, Aws::SQS::Client, Aws::SSM::Client, Aws::SSMContacts::Client, Aws::SSMGuiConnect::Client, Aws::SSMIncidents::Client, Aws::SSMQuickSetup::Client, Aws::SSO::Client, Aws::SSOAdmin::Client, Aws::SSOOIDC::Client, Aws::STS::Client, Aws::SWF::Client, Aws::SageMaker::Client, Aws::SageMakerFeatureStoreRuntime::Client, Aws::SageMakerGeospatial::Client, Aws::SageMakerMetrics::Client, Aws::SageMakerRuntime::Client, Aws::SagemakerEdgeManager::Client, Aws::SavingsPlans::Client, Aws::Scheduler::Client, Aws::Schemas::Client, Aws::SecretsManager::Client, Aws::SecurityHub::Client, Aws::SecurityIR::Client, Aws::SecurityLake::Client, Aws::ServerlessApplicationRepository::Client, Aws::ServiceCatalog::Client, Aws::ServiceDiscovery::Client, Aws::ServiceQuotas::Client, Aws::Shield::Client, Aws::Signer::Client, Aws::SimSpaceWeaver::Client, Aws::SimpleDB::Client, Aws::SnowDeviceManagement::Client, Aws::Snowball::Client, Aws::SocialMessaging::Client, Aws::SsmSap::Client, Aws::States::Client, Aws::StorageGateway::Client, Aws::SupplyChain::Client, Aws::Support::Client, Aws::SupportApp::Client, Aws::Synthetics::Client, Aws::TaxSettings::Client, Aws::Textract::Client, Aws::TimestreamInfluxDB::Client, Aws::TimestreamQuery::Client, Aws::TimestreamWrite::Client, Aws::Tnb::Client, Aws::TranscribeService::Client, Aws::TranscribeStreamingService::Client, Aws::Transfer::Client, Aws::Translate::Client, Aws::TrustedAdvisor::Client, Aws::VPCLattice::Client, Aws::VerifiedPermissions::Client, Aws::VoiceID::Client, Aws::WAF::Client, Aws::WAFRegional::Client, Aws::WAFV2::Client, Aws::WellArchitected::Client, Aws::WorkDocs::Client, Aws::WorkMail::Client, Aws::WorkMailMessageFlow::Client, Aws::WorkSpaces::Client, Aws::WorkSpacesThinClient::Client, Aws::WorkSpacesWeb::Client, Aws::WorkspacesInstances::Client, Aws::XRay::Client, AsyncBase

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from HandlerBuilder

#handle, #handle_request, #handle_response

Instance Attribute Details

#configConfiguration<Struct> (readonly)

Returns:



27
28
29
# File 'gems/aws-sdk-core/lib/seahorse/client/base.rb', line 27

def config
  @config
end

#handlersHandlerList (readonly)

Returns:



30
31
32
# File 'gems/aws-sdk-core/lib/seahorse/client/base.rb', line 30

def handlers
  @handlers
end

Class Method Details

.add_plugin(plugin) ⇒ void

This method returns an undefined value.

Registers a plugin with this client.

Examples:

Register a plugin


ClientClass.add_plugin(PluginClass)

Register a plugin by name


ClientClass.add_plugin('gem-name.PluginClass')

Register a plugin with an object


plugin = MyPluginClass.new(options)
ClientClass.add_plugin(plugin)

Parameters:

  • plugin (Class, Symbol, String, Object)

See Also:



127
128
129
# File 'gems/aws-sdk-core/lib/seahorse/client/base.rb', line 127

def add_plugin(plugin)
  @plugins.add(plugin)
end

.apiModel::Api

Returns:



171
172
173
# File 'gems/aws-sdk-core/lib/seahorse/client/base.rb', line 171

def api
  @api ||= Model::Api.new
end

.clear_pluginsvoid

This method returns an undefined value.



145
146
147
# File 'gems/aws-sdk-core/lib/seahorse/client/base.rb', line 145

def clear_plugins
  @plugins.set([])
end

.define(options = {}) ⇒ Class<Client::Base> Also known as: extend

Parameters:

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

    a customizable set of options

Options Hash (options):

  • :api (Model::Api, Hash) — default: {}
  • :plugins (Array<Plugin>) — default: []

    A list of plugins to add to the client class created.

Returns:



185
186
187
188
189
190
191
192
# File 'gems/aws-sdk-core/lib/seahorse/client/base.rb', line 185

def define(options = {})
  subclass = Class.new(self)
  subclass.set_api(options[:api] || api)
  Array(options[:plugins]).each do |plugin|
    subclass.add_plugin(plugin)
  end
  subclass
end

.new(options = {}) ⇒ Object



97
98
99
100
101
102
103
104
# File 'gems/aws-sdk-core/lib/seahorse/client/base.rb', line 97

def new(options = {})
  options = options.dup
  plugins = build_plugins(self.plugins + options.fetch(:plugins, []))
  plugins = before_initialize(plugins, options)
  client = allocate
  client.send(:initialize, plugins, options)
  client
end

.pluginsArray<Plugin>

Returns the list of registered plugins for this Client. Plugins are inherited from the client super class when the client is defined.



166
167
168
# File 'gems/aws-sdk-core/lib/seahorse/client/base.rb', line 166

def plugins
  Array(@plugins).freeze
end

.remove_plugin(plugin) ⇒ void

This method returns an undefined value.



136
137
138
# File 'gems/aws-sdk-core/lib/seahorse/client/base.rb', line 136

def remove_plugin(plugin)
  @plugins.remove(plugin)
end

.set_api(api) ⇒ Model::Api

Parameters:

Returns:



177
178
179
# File 'gems/aws-sdk-core/lib/seahorse/client/base.rb', line 177

def set_api(api)
  @api = api
end

.set_plugins(plugins) ⇒ void

This method returns an undefined value.

Parameters:

See Also:



155
156
157
# File 'gems/aws-sdk-core/lib/seahorse/client/base.rb', line 155

def set_plugins(plugins)
  @plugins.set(plugins)
end

Instance Method Details

#build_request(operation_name, params = {}) ⇒ Request

Builds and returns a Request for the named operation. The request will not have been sent.

Parameters:

  • operation_name (Symbol, String)

Returns:



36
37
38
39
40
# File 'gems/aws-sdk-core/lib/seahorse/client/base.rb', line 36

def build_request(operation_name, params = {})
  Request.new(
    @handlers.for(operation_name),
    context_for(operation_name, params))
end

#operation_namesArray<Symbol>

Returns a list of valid request operation names. These are valid arguments to #build_request and are also valid methods.

Returns:

  • (Array<Symbol>)

    Returns a list of valid request operation names. These are valid arguments to #build_request and are also valid methods.



50
51
52
# File 'gems/aws-sdk-core/lib/seahorse/client/base.rb', line 50

def operation_names
  self.class.api.operation_names - self.class.api.async_operation_names
end
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy