...

Package endpoints

import "github.com/aws/aws-sdk-go-v2/internal/endpoints/v2"
Overview
Index

Overview ▾

type CredentialScope

CredentialScope is the credential scope of a region and service

type CredentialScope struct {
    Region  string
    Service string
}

type DefaultKey

DefaultKey is a compound map key of a variant and other values.

type DefaultKey struct {
    Variant        EndpointVariant
    ServiceVariant ServiceVariant
}

type Endpoint

Endpoint is a service endpoint description

type Endpoint struct {
    // True if the endpoint cannot be resolved for this partition/region/service
    Unresolveable aws.Ternary

    Hostname  string
    Protocols []string

    CredentialScope CredentialScope

    SignatureVersions []string

    // Indicates that this endpoint is deprecated.
    Deprecated aws.Ternary
}

func (Endpoint) IsZero

func (e Endpoint) IsZero() bool

IsZero returns whether the endpoint structure is an empty (zero) value.

type EndpointKey

EndpointKey is a compound map key of a region and associated variant value.

type EndpointKey struct {
    Region         string
    Variant        EndpointVariant
    ServiceVariant ServiceVariant
}

type EndpointVariant

EndpointVariant is a bit field to describe the endpoints attributes.

type EndpointVariant uint64
const (
    // FIPSVariant indicates that the endpoint is FIPS capable.
    FIPSVariant EndpointVariant = 1 << (64 - 1 - iota)

    // DualStackVariant indicates that the endpoint is DualStack capable.
    DualStackVariant
)

type Endpoints

Endpoints is a map of service config regions to endpoints

type Endpoints map[EndpointKey]Endpoint

type Options

Options provide configuration needed to direct how endpoints are resolved.

type Options struct {
    // Logger is a logging implementation that log events should be sent to.
    Logger logging.Logger

    // LogDeprecated indicates that deprecated endpoints should be logged to the provided logger.
    LogDeprecated bool

    // ResolvedRegion is the resolved region string. If provided (non-zero length) it takes priority
    // over the region name passed to the ResolveEndpoint call.
    ResolvedRegion string

    // Disable usage of HTTPS (TLS / SSL)
    DisableHTTPS bool

    // Instruct the resolver to use a service endpoint that supports dual-stack.
    // If a service does not have a dual-stack endpoint an error will be returned by the resolver.
    UseDualStackEndpoint aws.DualStackEndpointState

    // Instruct the resolver to use a service endpoint that supports FIPS.
    // If a service does not have a FIPS endpoint an error will be returned by the resolver.
    UseFIPSEndpoint aws.FIPSEndpointState

    // ServiceVariant is a bitfield of service specified endpoint variant data.
    ServiceVariant ServiceVariant
}

func (Options) GetEndpointVariant

func (o Options) GetEndpointVariant() (v EndpointVariant)

GetEndpointVariant returns the EndpointVariant for the variant associated options.

type Partition

Partition is an AWS partition description for a service and its' region endpoints.

type Partition struct {
    ID                string
    RegionRegex       *regexp.Regexp
    PartitionEndpoint string
    IsRegionalized    bool
    Defaults          map[DefaultKey]Endpoint
    Endpoints         Endpoints
}

func (Partition) ResolveEndpoint

func (p Partition) ResolveEndpoint(region string, options Options) (resolved aws.Endpoint, err error)

ResolveEndpoint resolves and service endpoint for the given region and options.

type Partitions

Partitions is a slice of partition

type Partitions []Partition

func (Partitions) ResolveEndpoint

func (ps Partitions) ResolveEndpoint(region string, opts Options) (aws.Endpoint, error)

ResolveEndpoint resolves a service endpoint for the given region and options.

type ServiceVariant

ServiceVariant is a bit field to describe the service endpoint attributes.

type ServiceVariant uint64