gocloud.devgocloud.dev/aws Index | Files | Directories

package aws

import "gocloud.dev/aws"

Package aws provides fundamental Wire providers for Amazon Web Services (AWS).

Index

Variables

var DefaultSession = wire.NewSet(
	SessionConfig,
	ConfigCredentials,
	NewDefaultSession,
	wire.Bind(new(client.ConfigProvider), new(*session.Session)),
)

DefaultSession is a Wire provider set that provides a *session.Session using the default options.

Functions

func ConfigCredentials

func ConfigCredentials(cfg *aws.Config) *credentials.Credentials

ConfigCredentials returns cfg.Credentials.

func ConfigFromURLParams

func ConfigFromURLParams(q url.Values) (*aws.Config, error)

ConfigFromURLParams returns an aws.Config initialized based on the URL parameters in q. It is intended to be used by URLOpeners for AWS services. https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config

It returns an error if q contains any unknown query parameters; callers should remove any query parameters they know about from q before calling ConfigFromURLParams.

The following query options are supported:

func NewDefaultSession

func NewDefaultSession() (*session.Session, error)

NewDefaultSession returns a *session.Session using the default options.

func NewDefaultV2Config

func NewDefaultV2Config(ctx context.Context) (awsv2.Config, error)

NewDefaultV2Config returns a aws.Config for AWS SDK v2, using the default options.

func NewSessionFromURLParams

func NewSessionFromURLParams(q url.Values) (*session.Session, url.Values, error)

NewSessionFromURLParams returns an session.Session with session.Options initialized based on the URL parameters in q. It is intended to be used by URLOpeners for AWS services. https://docs.aws.amazon.com/sdk-for-go/api/aws/session/#Session

It should be used before ConfigFromURLParams as it strips the query parameters it knows about

The following query options are supported:

func SessionConfig

func SessionConfig(sess *session.Session) *aws.Config

SessionConfig returns sess.Config.

func UseV2

func UseV2(q url.Values) bool

UseV2 returns true iff the URL parameters indicate that the provider should use the AWS SDK v2.

"awssdk=v1" will force V1. "awssdk=v2" will force V2. No "awssdk" parameter (or any other value) will return the default, currently V2.

func V2ConfigFromURLParams

func V2ConfigFromURLParams(ctx context.Context, q url.Values) (awsv2.Config, error)

V2ConfigFromURLParams returns an aws.Config for AWS SDK v2 initialized based on the URL parameters in q. It is intended to be used by URLOpeners for AWS services if UseV2 returns true.

https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/aws#Config

It returns an error if q contains any unknown query parameters; callers should remove any query parameters they know about from q before calling V2ConfigFromURLParams.

The following query options are supported:

Types

type ConfigOverrider

type ConfigOverrider struct {
	Base    client.ConfigProvider
	Configs []*aws.Config
}

ConfigOverrider implements client.ConfigProvider by overlaying a list of configurations over a base configuration provider.

func (ConfigOverrider) ClientConfig

func (co ConfigOverrider) ClientConfig(serviceName string, cfgs ...*aws.Config) client.Config

ClientConfig calls the base provider's ClientConfig method with co.Configs followed by the arguments given to ClientConfig.

Source Files

aws.go

Directories

PathSynopsis
aws/awscloudPackage awscloud contains Wire providers for AWS services.
aws/rdsPackage rds contains Wire providers that are common across RDS.
Version
v0.41.0 (latest)
Published
Mar 30, 2025
Platform
js/wasm
Imports
14 packages
Last checked
1 hour ago

Tools for package owners.