Interface ServiceMetadata

All Known Implementing Classes:
A4bServiceMetadata, AccessAnalyzerServiceMetadata, AccountServiceMetadata, AcmPcaServiceMetadata, AcmServiceMetadata, AgreementMarketplaceServiceMetadata, AirflowServiceMetadata, AmplifybackendServiceMetadata, AmplifyServiceMetadata, AmplifyuibuilderServiceMetadata, AossServiceMetadata, ApiDetectiveServiceMetadata, ApiEcrPublicServiceMetadata, ApiEcrServiceMetadata, ApiElasticInferenceServiceMetadata, ApiFleethubIotServiceMetadata, ApigatewayServiceMetadata, ApiIotdeviceadvisorServiceMetadata, ApiIotwirelessServiceMetadata, ApiMediatailorServiceMetadata, ApiPricingServiceMetadata, ApiSagemakerServiceMetadata, ApiTunnelingIotServiceMetadata, AppconfigdataServiceMetadata, AppconfigServiceMetadata, AppflowServiceMetadata, AppIntegrationsServiceMetadata, ApplicationAutoscalingServiceMetadata, ApplicationinsightsServiceMetadata, AppmeshServiceMetadata, ApprunnerServiceMetadata, Appstream2ServiceMetadata, AppsyncServiceMetadata, ApsServiceMetadata, ArcZonalShiftServiceMetadata, AthenaServiceMetadata, AuditmanagerServiceMetadata, AutoscalingPlansServiceMetadata, AutoscalingServiceMetadata, BackupGatewayServiceMetadata, BackupServiceMetadata, BackupstorageServiceMetadata, BatchServiceMetadata, BedrockServiceMetadata, BillingconductorServiceMetadata, BraketServiceMetadata, BudgetsServiceMetadata, CasesServiceMetadata, CassandraServiceMetadata, CatalogMarketplaceServiceMetadata, CeServiceMetadata, ChimeServiceMetadata, CleanroomsServiceMetadata, Cloud9ServiceMetadata, CloudcontrolapiServiceMetadata, ClouddirectoryServiceMetadata, CloudformationServiceMetadata, CloudfrontServiceMetadata, CloudhsmServiceMetadata, Cloudhsmv2ServiceMetadata, CloudsearchServiceMetadata, CloudtrailDataServiceMetadata, CloudtrailServiceMetadata, CodeartifactServiceMetadata, CodebuildServiceMetadata, CodecatalystServiceMetadata, CodecommitServiceMetadata, CodedeployServiceMetadata, CodeguruReviewerServiceMetadata, CodepipelineServiceMetadata, CodestarConnectionsServiceMetadata, CodestarNotificationsServiceMetadata, CodestarServiceMetadata, CognitoIdentityServiceMetadata, CognitoIdpServiceMetadata, CognitoSyncServiceMetadata, ComprehendmedicalServiceMetadata, ComprehendServiceMetadata, ComputeOptimizerServiceMetadata, ConfigServiceMetadata, ConnectCampaignsServiceMetadata, ConnectServiceMetadata, ContactLensServiceMetadata, ControltowerServiceMetadata, CostOptimizationHubServiceMetadata, CurServiceMetadata, DataAtsIotServiceMetadata, DatabrewServiceMetadata, DataexchangeServiceMetadata, DataIotServiceMetadata, DataJobsIotServiceMetadata, DataMediastoreServiceMetadata, DatapipelineServiceMetadata, DatasyncServiceMetadata, DatazoneServiceMetadata, DaxServiceMetadata, DefaultPatternServiceServiceMetadata, DefaultServiceMetadata, DevicefarmServiceMetadata, DevopsGuruServiceMetadata, DirectconnectServiceMetadata, DiscoveryServiceMetadata, DlmServiceMetadata, DmsServiceMetadata, DocdbServiceMetadata, DrsServiceMetadata, DsServiceMetadata, DynamodbServiceMetadata, EbsServiceMetadata, Ec2ServiceMetadata, EcsServiceMetadata, EdgeSagemakerServiceMetadata, EksAuthServiceMetadata, EksServiceMetadata, ElasticacheServiceMetadata, ElasticbeanstalkServiceMetadata, ElasticfilesystemServiceMetadata, ElasticloadbalancingServiceMetadata, ElasticmapreduceServiceMetadata, ElastictranscoderServiceMetadata, EmailServiceMetadata, EmrContainersServiceMetadata, EmrServerlessServiceMetadata, EnhancedS3ServiceMetadata, EntitlementMarketplaceServiceMetadata, EsServiceMetadata, EventsServiceMetadata, EvidentlyServiceMetadata, FinspaceApiServiceMetadata, FinspaceServiceMetadata, FirehoseServiceMetadata, FmsServiceMetadata, ForecastqueryServiceMetadata, ForecastServiceMetadata, FrauddetectorServiceMetadata, FsxServiceMetadata, GameliftServiceMetadata, GeoServiceMetadata, GlacierServiceMetadata, GlobalServiceServiceMetadata, GlueServiceMetadata, GrafanaServiceMetadata, GreengrassServiceMetadata, GroundstationServiceMetadata, GuarddutyServiceMetadata, HealthlakeServiceMetadata, HealthServiceMetadata, HoneycodeServiceMetadata, IamServiceMetadata, IdentityChimeServiceMetadata, IdentitystoreServiceMetadata, ImportexportServiceMetadata, IngestTimestreamServiceMetadata, Inspector2ServiceMetadata, InspectorServiceMetadata, InternetmonitorServiceMetadata, IotanalyticsServiceMetadata, IoteventsdataServiceMetadata, IoteventsServiceMetadata, IotfleetwiseServiceMetadata, IotsecuredtunnelingServiceMetadata, IotServiceMetadata, IotsitewiseServiceMetadata, IotthingsgraphServiceMetadata, IottwinmakerServiceMetadata, IotwirelessServiceMetadata, IvschatServiceMetadata, IvsrealtimeServiceMetadata, IvsServiceMetadata, KafkaconnectServiceMetadata, KafkaServiceMetadata, KendraRankingServiceMetadata, KendraServiceMetadata, KinesisanalyticsServiceMetadata, KinesisServiceMetadata, KinesisvideoServiceMetadata, KmsServiceMetadata, LakeformationServiceMetadata, LambdaServiceMetadata, LicenseManagerLinuxSubscriptionsServiceMetadata, LicenseManagerServiceMetadata, LicenseManagerUserSubscriptionsServiceMetadata, LightsailServiceMetadata, LogsServiceMetadata, LookoutequipmentServiceMetadata, LookoutmetricsServiceMetadata, LookoutvisionServiceMetadata, M2ServiceMetadata, MachinelearningServiceMetadata, Macie2ServiceMetadata, ManagedblockchainQueryServiceMetadata, ManagedblockchainServiceMetadata, MarketplacecommerceanalyticsServiceMetadata, MediaconnectServiceMetadata, MediaconvertServiceMetadata, MedialiveServiceMetadata, MediapackageServiceMetadata, Mediapackagev2ServiceMetadata, MediapackageVodServiceMetadata, MediaPipelinesChimeServiceMetadata, MediastoreServiceMetadata, MeetingsChimeServiceMetadata, MemoryDbServiceMetadata, MessagingChimeServiceMetadata, MeteringMarketplaceServiceMetadata, MetricsSagemakerServiceMetadata, MghServiceMetadata, MgnServiceMetadata, MigrationhubOrchestratorServiceMetadata, MigrationhubStrategyServiceMetadata, MobileanalyticsServiceMetadata, ModelsLexServiceMetadata, ModelsV2LexServiceMetadata, MonitoringServiceMetadata, MqServiceMetadata, MturkRequesterServiceMetadata, MultiVariantServiceServiceMetadata, NeptuneServiceMetadata, NetworkFirewallServiceMetadata, NetworkmanagerServiceMetadata, NimbleServiceMetadata, OamServiceMetadata, OidcServiceMetadata, OmicsServiceMetadata, OpsworksCmServiceMetadata, OpsworksServiceMetadata, OrganizationsServiceMetadata, OsisServiceMetadata, OutpostsServiceMetadata, OverrideEndpointVariantServiceServiceMetadata, OverrideVariantDnsSuffixServiceServiceMetadata, OverrideVariantHostnameServiceServiceMetadata, OverrideVariantServiceServiceMetadata, ParticipantConnectServiceMetadata, PersonalizeServiceMetadata, PinpointServiceMetadata, PipesServiceMetadata, PiServiceMetadata, PollyServiceMetadata, PortalSsoServiceMetadata, PrivateNetworksServiceMetadata, ProfileServiceMetadata, ProjectsIot1clickServiceMetadata, ProtonServiceMetadata, QbusinessServiceMetadata, QldbServiceMetadata, QuicksightServiceMetadata, RamServiceMetadata, RbinServiceMetadata, RdsDataServiceMetadata, RdsServiceMetadata, RedshiftServerlessServiceMetadata, RedshiftServiceMetadata, RekognitionServiceMetadata, ResiliencehubServiceMetadata, ResourceExplorer2ServiceMetadata, ResourceGroupsServiceMetadata, RobomakerServiceMetadata, RolesanywhereServiceMetadata, Route53domainsServiceMetadata, Route53RecoveryControlConfigServiceMetadata, Route53resolverServiceMetadata, Route53ServiceMetadata, RumServiceMetadata, RuntimeLexServiceMetadata, RuntimeSagemakerServiceMetadata, RuntimeV2LexServiceMetadata, S3ControlServiceMetadata, S3OutpostsServiceMetadata, S3ServiceMetadata, SagemakerGeospatialServiceMetadata, SavingsplansServiceMetadata, SchedulerServiceMetadata, SchemasServiceMetadata, SdbServiceMetadata, SecretsmanagerServiceMetadata, SecurityhubServiceMetadata, SecuritylakeServiceMetadata, ServerlessrepoServiceMetadata, ServicecatalogAppregistryServiceMetadata, ServicecatalogServiceMetadata, ServicediscoveryServiceMetadata, ServicequotasServiceMetadata, SessionQldbServiceMetadata, ShieldServiceMetadata, SignerServiceMetadata, SimspaceweaverServiceMetadata, SmsServiceMetadata, SmsVoiceServiceMetadata, SnowballServiceMetadata, SnsServiceMetadata, SomeServiceServiceMetadata, SqsServiceMetadata, SsmContactsServiceMetadata, SsmIncidentsServiceMetadata, SsmSapServiceMetadata, SsmServiceMetadata, SsoServiceMetadata, StatesServiceMetadata, StoragegatewayServiceMetadata, StreamsDynamodbServiceMetadata, StsServiceMetadata, SupportappServiceMetadata, SupportServiceMetadata, SwfServiceMetadata, SyntheticsServiceMetadata, TaggingServiceMetadata, TextractServiceMetadata, ThinclientServiceMetadata, TnbServiceMetadata, TranscribeServiceMetadata, TranscribestreamingServiceMetadata, TransferServiceMetadata, TranslateServiceMetadata, VerifiedpermissionsServiceMetadata, VoiceChimeServiceMetadata, VoiceidServiceMetadata, VpcLatticeServiceMetadata, WafRegionalServiceMetadata, WafServiceMetadata, Wafv2ServiceMetadata, WellarchitectedServiceMetadata, WisdomServiceMetadata, WorkdocsServiceMetadata, WorkmailServiceMetadata, WorkspacesServiceMetadata, WorkspacesWebServiceMetadata, XrayServiceMetadata

public interface ServiceMetadata
Metadata about a service, like S3, DynamoDB, etc.

This is useful for building meta-functionality around AWS services. For example, UIs that list the available regions for a service would use the regions() method for a service.

This is usually created by calling the serviceMetadata method on the service client's interface, but can also be created by calling the of(String) method and providing the service's unique endpoint prefix.

  • Method Details

    • endpointFor

      default URI endpointFor(Region region)
      Retrieve the AWS endpoint that should be used for this service in the provided region, if no EndpointTags are desired.
      Parameters:
      region - The region that should be used to load the service endpoint.
      Returns:
      The region-specific endpoint for this service.
      Throws:
      RuntimeException - if an endpoint cannot be determined.
    • endpointFor

      default URI endpointFor(ServiceEndpointKey key)
      Retrieve the AWS endpoint that should be used for this service associated with the provided ServiceEndpointKey.
      Parameters:
      key - The service endpoint key with which an endpoint should be retrieved.
      Returns:
      The region-specific endpoint for this service.
      Throws:
      RuntimeException - if an endpoint cannot be determined.
    • signingRegion

      default Region signingRegion(Region region)
      Retrieve the region that should be used for message signing when communicating with this service in the provided region. For most services, this will match the provided region, but it may differ for unusual services or when using a region that does not correspond to a physical location, like Region.AWS_GLOBAL.
      Parameters:
      region - The region from which the signing region should be derived.
      Returns:
      The region that should be used for signing messages when communicating with this service in the requested region.
    • signingRegion

      default Region signingRegion(ServiceEndpointKey key)
      Retrieve the region that should be used for message signing when communicating with this service in the provided region and with the provided endpoint tags. For most services, this will match the provided region, but it may differ for unusual services or when using a region that does not correspond to a physical location, like Region.AWS_GLOBAL.
      Parameters:
      key - The service endpoint key with which an endpoint should be retrieved.
      Returns:
      The region that should be used for signing messages when communicating with this service in the requested region.
    • regions

      List<Region> regions()
      Retrieve the list of regions this service is currently available in.
      Returns:
      The list of regions this service is currently available in.
    • servicePartitions

      List<ServicePartitionMetadata> servicePartitions()
      Retrieve the service-specific partition configuration of each partition in which this service is currently available.
      Returns:
      The list of service-specific service metadata for each partition in which this service is available.
    • of

      static ServiceMetadata of(String serviceEndpointPrefix)
      Load the service metadata for the provided service endpoint prefix. This should only be used when you do not wish to have a dependency on the service for which you are retrieving the metadata. When you have a dependency on the service client, the metadata should instead be loaded using the service client's serviceMetadata() method.
      Parameters:
      serviceEndpointPrefix - The service-specific endpoint prefix of the service about which you wish to load metadata.
      Returns:
      The service metadata for the requested service.
    • reconfigure

      default ServiceMetadata reconfigure(ServiceMetadataConfiguration configuration)
      Reconfigure this service metadata using the provided ServiceMetadataConfiguration. This is useful, because some service metadata instances refer to external configuration that might wish to be modified, like a ProfileFile.
    • reconfigure

      Reconfigure this service metadata using the provided ServiceMetadataConfiguration. This is useful, because some service metadata instances refer to external configuration that might wish to be modified, like a ProfileFile. This is a shorthand form of reconfigure(ServiceMetadataConfiguration), without the need to call builder() or build().