]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blob - vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.go
deps: use go modules for dep mgmt
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / aws / aws-sdk-go / aws / endpoints / doc.go
1 // Package endpoints provides the types and functionality for defining regions
2 // and endpoints, as well as querying those definitions.
3 //
4 // The SDK's Regions and Endpoints metadata is code generated into the endpoints
5 // package, and is accessible via the DefaultResolver function. This function
6 // returns a endpoint Resolver will search the metadata and build an associated
7 // endpoint if one is found. The default resolver will search all partitions
8 // known by the SDK. e.g AWS Standard (aws), AWS China (aws-cn), and
9 // AWS GovCloud (US) (aws-us-gov).
10 // .
11 //
12 // Enumerating Regions and Endpoint Metadata
13 //
14 // Casting the Resolver returned by DefaultResolver to a EnumPartitions interface
15 // will allow you to get access to the list of underlying Partitions with the
16 // Partitions method. This is helpful if you want to limit the SDK's endpoint
17 // resolving to a single partition, or enumerate regions, services, and endpoints
18 // in the partition.
19 //
20 // resolver := endpoints.DefaultResolver()
21 // partitions := resolver.(endpoints.EnumPartitions).Partitions()
22 //
23 // for _, p := range partitions {
24 // fmt.Println("Regions for", p.Name)
25 // for id, _ := range p.Regions() {
26 // fmt.Println("*", id)
27 // }
28 //
29 // fmt.Println("Services for", p.Name)
30 // for id, _ := range p.Services() {
31 // fmt.Println("*", id)
32 // }
33 // }
34 //
35 // Using Custom Endpoints
36 //
37 // The endpoints package also gives you the ability to use your own logic how
38 // endpoints are resolved. This is a great way to define a custom endpoint
39 // for select services, without passing that logic down through your code.
40 //
41 // If a type implements the Resolver interface it can be used to resolve
42 // endpoints. To use this with the SDK's Session and Config set the value
43 // of the type to the EndpointsResolver field of aws.Config when initializing
44 // the session, or service client.
45 //
46 // In addition the ResolverFunc is a wrapper for a func matching the signature
47 // of Resolver.EndpointFor, converting it to a type that satisfies the
48 // Resolver interface.
49 //
50 //
51 // myCustomResolver := func(service, region string, optFns ...func(*endpoints.Options)) (endpoints.ResolvedEndpoint, error) {
52 // if service == endpoints.S3ServiceID {
53 // return endpoints.ResolvedEndpoint{
54 // URL: "s3.custom.endpoint.com",
55 // SigningRegion: "custom-signing-region",
56 // }, nil
57 // }
58 //
59 // return endpoints.DefaultResolver().EndpointFor(service, region, optFns...)
60 // }
61 //
62 // sess := session.Must(session.NewSession(&aws.Config{
63 // Region: aws.String("us-west-2"),
64 // EndpointResolver: endpoints.ResolverFunc(myCustomResolver),
65 // }))
66 package endpoints