Upgraded aws-sdk-go to v1.35.5 to include more regions, i.e. Millan
./hack/pin-dependency.sh github.com/aws/aws-sdk-go v1.35.5 ./hack/update-vendor.sh ./hack/lint-dependencies.sh // Additional changes required by lint-dependencies hack/pin-dependency.sh github.com/jmespath/go-jmespath v0.4.0 ./hack/update-vendor.sh ./hack/lint-dependencies.sh
This commit is contained in:
parent
c9c24b46c3
commit
b57d040247
7
go.mod
7
go.mod
@ -21,7 +21,7 @@ require (
|
||||
github.com/PuerkitoBio/purell v1.1.1
|
||||
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e
|
||||
github.com/auth0/go-jwt-middleware v0.0.0-20170425171159-5493cabe49f7 // indirect
|
||||
github.com/aws/aws-sdk-go v1.28.2
|
||||
github.com/aws/aws-sdk-go v1.35.5
|
||||
github.com/blang/semver v3.5.0+incompatible
|
||||
github.com/boltdb/bolt v1.3.1 // indirect
|
||||
github.com/caddyserver/caddy v1.0.3
|
||||
@ -180,7 +180,7 @@ replace (
|
||||
github.com/armon/consul-api => github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6
|
||||
github.com/asaskevich/govalidator => github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a
|
||||
github.com/auth0/go-jwt-middleware => github.com/auth0/go-jwt-middleware v0.0.0-20170425171159-5493cabe49f7
|
||||
github.com/aws/aws-sdk-go => github.com/aws/aws-sdk-go v1.28.2
|
||||
github.com/aws/aws-sdk-go => github.com/aws/aws-sdk-go v1.35.5
|
||||
github.com/beorn7/perks => github.com/beorn7/perks v1.0.1
|
||||
github.com/bgentry/speakeasy => github.com/bgentry/speakeasy v0.1.0
|
||||
github.com/bifurcation/mint => github.com/bifurcation/mint v0.0.0-20180715133206-93c51c6ce115
|
||||
@ -305,7 +305,8 @@ replace (
|
||||
github.com/inconshreveable/mousetrap => github.com/inconshreveable/mousetrap v1.0.0
|
||||
github.com/ishidawataru/sctp => github.com/ishidawataru/sctp v0.0.0-20190723014705-7c296d48a2b5
|
||||
github.com/jimstudt/http-authentication => github.com/jimstudt/http-authentication v0.0.0-20140401203705-3eca13d6893a
|
||||
github.com/jmespath/go-jmespath => github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af
|
||||
github.com/jmespath/go-jmespath => github.com/jmespath/go-jmespath v0.4.0
|
||||
github.com/jmespath/go-jmespath/internal/testify => github.com/jmespath/go-jmespath/internal/testify v1.5.1
|
||||
github.com/jonboulle/clockwork => github.com/jonboulle/clockwork v0.1.0
|
||||
github.com/json-iterator/go => github.com/json-iterator/go v1.1.10
|
||||
github.com/jstemmer/go-junit-report => github.com/jstemmer/go-junit-report v0.9.1
|
||||
|
10
go.sum
10
go.sum
@ -60,8 +60,8 @@ github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4
|
||||
github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
|
||||
github.com/auth0/go-jwt-middleware v0.0.0-20170425171159-5493cabe49f7 h1:irR1cO6eek3n5uquIVaRAsQmZnlsfPuHNz31cXo4eyk=
|
||||
github.com/auth0/go-jwt-middleware v0.0.0-20170425171159-5493cabe49f7/go.mod h1:LWMyo4iOLWXHGdBki7NIht1kHru/0wM179h+d3g8ATM=
|
||||
github.com/aws/aws-sdk-go v1.28.2 h1:j5IXG9CdyLfcVfICqo1PXVv+rua+QQHbkXuvuU/JF+8=
|
||||
github.com/aws/aws-sdk-go v1.28.2/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
|
||||
github.com/aws/aws-sdk-go v1.35.5 h1:doSEOxC0UkirPcle20Rc+1kAhJ4Ip+GSEeZ3nKl7Qlk=
|
||||
github.com/aws/aws-sdk-go v1.35.5/go.mod h1:tlPOdRjfxPBpNIwqDj61rmsnA85v9jc0Ps9+muhnW+k=
|
||||
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
|
||||
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
|
||||
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
|
||||
@ -279,8 +279,10 @@ github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANyt
|
||||
github.com/ishidawataru/sctp v0.0.0-20190723014705-7c296d48a2b5 h1:qPmlgoeRS18y2dT+iAH5vEKZgIqgiPi2Y8UCu/b7Aq8=
|
||||
github.com/ishidawataru/sctp v0.0.0-20190723014705-7c296d48a2b5/go.mod h1:DM4VvS+hD/kDi1U1QsX2fnZowwBhqD0Dk3bRPKF/Oc8=
|
||||
github.com/jimstudt/http-authentication v0.0.0-20140401203705-3eca13d6893a/go.mod h1:wK6yTYYcgjHE1Z1QtXACPDjcFJyBskHEdagmnq3vsP8=
|
||||
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM=
|
||||
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
|
||||
github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
|
||||
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
|
||||
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
|
||||
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
|
||||
github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo=
|
||||
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
|
||||
github.com/json-iterator/go v1.1.10 h1:Kz6Cvnvv2wGdaG/V8yMvfkmNiXq9Ya2KUv4rouJJr68=
|
||||
|
@ -13,7 +13,7 @@ require (
|
||||
github.com/Azure/go-autorest/autorest/to v0.2.0
|
||||
github.com/Azure/go-autorest/autorest/validation v0.1.0 // indirect
|
||||
github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20200415212048-7901bc822317
|
||||
github.com/aws/aws-sdk-go v1.28.2
|
||||
github.com/aws/aws-sdk-go v1.35.5
|
||||
github.com/dnaeon/go-vcr v1.0.1 // indirect
|
||||
github.com/golang/mock v1.3.1
|
||||
github.com/google/go-cmp v0.4.0
|
||||
|
11
staging/src/k8s.io/legacy-cloud-providers/go.sum
generated
11
staging/src/k8s.io/legacy-cloud-providers/go.sum
generated
@ -47,8 +47,8 @@ github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuy
|
||||
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
||||
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
||||
github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
||||
github.com/aws/aws-sdk-go v1.28.2 h1:j5IXG9CdyLfcVfICqo1PXVv+rua+QQHbkXuvuU/JF+8=
|
||||
github.com/aws/aws-sdk-go v1.28.2/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
|
||||
github.com/aws/aws-sdk-go v1.35.5 h1:doSEOxC0UkirPcle20Rc+1kAhJ4Ip+GSEeZ3nKl7Qlk=
|
||||
github.com/aws/aws-sdk-go v1.35.5/go.mod h1:tlPOdRjfxPBpNIwqDj61rmsnA85v9jc0Ps9+muhnW+k=
|
||||
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
||||
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
|
||||
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
|
||||
@ -186,8 +186,10 @@ github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:
|
||||
github.com/imdario/mergo v0.3.5 h1:JboBksRwiiAJWvIYJVo46AfV+IAIKZpfrSzVKj42R4Q=
|
||||
github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
|
||||
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
|
||||
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM=
|
||||
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
|
||||
github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
|
||||
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
|
||||
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
|
||||
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
|
||||
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
|
||||
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
||||
github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||
@ -353,6 +355,7 @@ golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLL
|
||||
golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e h1:3G+cUijn7XD+S4eJFddp53Pv7+slrESplyjG25HgL+k=
|
||||
golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
|
||||
golang.org/x/net v0.0.0-20200707034311-ab3426394381 h1:VXak5I6aEWmAXeQjA+QSZzlgNrpq9mjcfDemuexIKsU=
|
||||
|
2
vendor/BUILD
vendored
2
vendor/BUILD
vendored
@ -32,6 +32,7 @@ filegroup(
|
||||
"//vendor/github.com/armon/circbuf:all-srcs",
|
||||
"//vendor/github.com/asaskevich/govalidator:all-srcs",
|
||||
"//vendor/github.com/aws/aws-sdk-go/aws:all-srcs",
|
||||
"//vendor/github.com/aws/aws-sdk-go/internal/context:all-srcs",
|
||||
"//vendor/github.com/aws/aws-sdk-go/internal/ini:all-srcs",
|
||||
"//vendor/github.com/aws/aws-sdk-go/internal/sdkio:all-srcs",
|
||||
"//vendor/github.com/aws/aws-sdk-go/internal/sdkmath:all-srcs",
|
||||
@ -39,6 +40,7 @@ filegroup(
|
||||
"//vendor/github.com/aws/aws-sdk-go/internal/sdkuri:all-srcs",
|
||||
"//vendor/github.com/aws/aws-sdk-go/internal/shareddefaults:all-srcs",
|
||||
"//vendor/github.com/aws/aws-sdk-go/internal/strings:all-srcs",
|
||||
"//vendor/github.com/aws/aws-sdk-go/internal/sync/singleflight:all-srcs",
|
||||
"//vendor/github.com/aws/aws-sdk-go/private/protocol:all-srcs",
|
||||
"//vendor/github.com/aws/aws-sdk-go/service/autoscaling:all-srcs",
|
||||
"//vendor/github.com/aws/aws-sdk-go/service/ec2:all-srcs",
|
||||
|
1
vendor/github.com/aws/aws-sdk-go/aws/BUILD
generated
vendored
1
vendor/github.com/aws/aws-sdk-go/aws/BUILD
generated
vendored
@ -26,6 +26,7 @@ go_library(
|
||||
"//vendor/github.com/aws/aws-sdk-go/aws/awserr:go_default_library",
|
||||
"//vendor/github.com/aws/aws-sdk-go/aws/credentials:go_default_library",
|
||||
"//vendor/github.com/aws/aws-sdk-go/aws/endpoints:go_default_library",
|
||||
"//vendor/github.com/aws/aws-sdk-go/internal/context:go_default_library",
|
||||
"//vendor/github.com/aws/aws-sdk-go/internal/sdkio:go_default_library",
|
||||
],
|
||||
)
|
||||
|
9
vendor/github.com/aws/aws-sdk-go/aws/config.go
generated
vendored
9
vendor/github.com/aws/aws-sdk-go/aws/config.go
generated
vendored
@ -43,7 +43,7 @@ type Config struct {
|
||||
|
||||
// An optional endpoint URL (hostname only or fully qualified URI)
|
||||
// that overrides the default generated endpoint for a client. Set this
|
||||
// to `""` to use the default generated endpoint.
|
||||
// to `nil` or the value to `""` to use the default generated endpoint.
|
||||
//
|
||||
// Note: You must still provide a `Region` value when specifying an
|
||||
// endpoint for a client.
|
||||
@ -138,7 +138,7 @@ type Config struct {
|
||||
// `ExpectContinueTimeout` for information on adjusting the continue wait
|
||||
// timeout. https://golang.org/pkg/net/http/#Transport
|
||||
//
|
||||
// You should use this flag to disble 100-Continue if you experience issues
|
||||
// You should use this flag to disable 100-Continue if you experience issues
|
||||
// with proxies or third party S3 compatible services.
|
||||
S3Disable100Continue *bool
|
||||
|
||||
@ -183,7 +183,7 @@ type Config struct {
|
||||
//
|
||||
// Example:
|
||||
// sess := session.Must(session.NewSession(aws.NewConfig()
|
||||
// .WithEC2MetadataDiableTimeoutOverride(true)))
|
||||
// .WithEC2MetadataDisableTimeoutOverride(true)))
|
||||
//
|
||||
// svc := s3.New(sess)
|
||||
//
|
||||
@ -194,7 +194,7 @@ type Config struct {
|
||||
// both IPv4 and IPv6 addressing.
|
||||
//
|
||||
// Setting this for a service which does not support dual stack will fail
|
||||
// to make requets. It is not recommended to set this value on the session
|
||||
// to make requests. It is not recommended to set this value on the session
|
||||
// as it will apply to all service clients created with the session. Even
|
||||
// services which don't support dual stack endpoints.
|
||||
//
|
||||
@ -238,6 +238,7 @@ type Config struct {
|
||||
|
||||
// EnableEndpointDiscovery will allow for endpoint discovery on operations that
|
||||
// have the definition in its model. By default, endpoint discovery is off.
|
||||
// To use EndpointDiscovery, Endpoint should be unset or set to an empty string.
|
||||
//
|
||||
// Example:
|
||||
// sess := session.Must(session.NewSession(&aws.Config{
|
||||
|
40
vendor/github.com/aws/aws-sdk-go/aws/context_background_1_5.go
generated
vendored
40
vendor/github.com/aws/aws-sdk-go/aws/context_background_1_5.go
generated
vendored
@ -2,42 +2,8 @@
|
||||
|
||||
package aws
|
||||
|
||||
import "time"
|
||||
|
||||
// An emptyCtx is a copy of the Go 1.7 context.emptyCtx type. This is copied to
|
||||
// provide a 1.6 and 1.5 safe version of context that is compatible with Go
|
||||
// 1.7's Context.
|
||||
//
|
||||
// An emptyCtx is never canceled, has no values, and has no deadline. It is not
|
||||
// struct{}, since vars of this type must have distinct addresses.
|
||||
type emptyCtx int
|
||||
|
||||
func (*emptyCtx) Deadline() (deadline time.Time, ok bool) {
|
||||
return
|
||||
}
|
||||
|
||||
func (*emptyCtx) Done() <-chan struct{} {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (*emptyCtx) Err() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (*emptyCtx) Value(key interface{}) interface{} {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (e *emptyCtx) String() string {
|
||||
switch e {
|
||||
case backgroundCtx:
|
||||
return "aws.BackgroundContext"
|
||||
}
|
||||
return "unknown empty Context"
|
||||
}
|
||||
|
||||
var (
|
||||
backgroundCtx = new(emptyCtx)
|
||||
import (
|
||||
"github.com/aws/aws-sdk-go/internal/context"
|
||||
)
|
||||
|
||||
// BackgroundContext returns a context that will never be canceled, has no
|
||||
@ -52,5 +18,5 @@ var (
|
||||
//
|
||||
// See https://golang.org/pkg/context for more information on Contexts.
|
||||
func BackgroundContext() Context {
|
||||
return backgroundCtx
|
||||
return context.BackgroundCtx
|
||||
}
|
||||
|
2
vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go
generated
vendored
@ -225,6 +225,8 @@ var ValidateEndpointHandler = request.NamedHandler{Name: "core.ValidateEndpointH
|
||||
if r.ClientInfo.SigningRegion == "" && aws.StringValue(r.Config.Region) == "" {
|
||||
r.Error = aws.ErrMissingRegion
|
||||
} else if r.ClientInfo.Endpoint == "" {
|
||||
// Was any endpoint provided by the user, or one was derived by the
|
||||
// SDK's endpoint resolver?
|
||||
r.Error = aws.ErrMissingEndpoint
|
||||
}
|
||||
}}
|
||||
|
6
vendor/github.com/aws/aws-sdk-go/aws/credentials/BUILD
generated
vendored
6
vendor/github.com/aws/aws-sdk-go/aws/credentials/BUILD
generated
vendored
@ -4,6 +4,10 @@ go_library(
|
||||
name = "go_default_library",
|
||||
srcs = [
|
||||
"chain_provider.go",
|
||||
"context_background_go1.5.go",
|
||||
"context_background_go1.7.go",
|
||||
"context_go1.5.go",
|
||||
"context_go1.9.go",
|
||||
"credentials.go",
|
||||
"env_provider.go",
|
||||
"shared_credentials_provider.go",
|
||||
@ -14,8 +18,10 @@ go_library(
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//vendor/github.com/aws/aws-sdk-go/aws/awserr:go_default_library",
|
||||
"//vendor/github.com/aws/aws-sdk-go/internal/context:go_default_library",
|
||||
"//vendor/github.com/aws/aws-sdk-go/internal/ini:go_default_library",
|
||||
"//vendor/github.com/aws/aws-sdk-go/internal/shareddefaults:go_default_library",
|
||||
"//vendor/github.com/aws/aws-sdk-go/internal/sync/singleflight:go_default_library",
|
||||
],
|
||||
)
|
||||
|
||||
|
22
vendor/github.com/aws/aws-sdk-go/aws/credentials/context_background_go1.5.go
generated
vendored
Normal file
22
vendor/github.com/aws/aws-sdk-go/aws/credentials/context_background_go1.5.go
generated
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
// +build !go1.7
|
||||
|
||||
package credentials
|
||||
|
||||
import (
|
||||
"github.com/aws/aws-sdk-go/internal/context"
|
||||
)
|
||||
|
||||
// backgroundContext returns a context that will never be canceled, has no
|
||||
// values, and no deadline. This context is used by the SDK to provide
|
||||
// backwards compatibility with non-context API operations and functionality.
|
||||
//
|
||||
// Go 1.6 and before:
|
||||
// This context function is equivalent to context.Background in the Go stdlib.
|
||||
//
|
||||
// Go 1.7 and later:
|
||||
// The context returned will be the value returned by context.Background()
|
||||
//
|
||||
// See https://golang.org/pkg/context for more information on Contexts.
|
||||
func backgroundContext() Context {
|
||||
return context.BackgroundCtx
|
||||
}
|
20
vendor/github.com/aws/aws-sdk-go/aws/credentials/context_background_go1.7.go
generated
vendored
Normal file
20
vendor/github.com/aws/aws-sdk-go/aws/credentials/context_background_go1.7.go
generated
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
// +build go1.7
|
||||
|
||||
package credentials
|
||||
|
||||
import "context"
|
||||
|
||||
// backgroundContext returns a context that will never be canceled, has no
|
||||
// values, and no deadline. This context is used by the SDK to provide
|
||||
// backwards compatibility with non-context API operations and functionality.
|
||||
//
|
||||
// Go 1.6 and before:
|
||||
// This context function is equivalent to context.Background in the Go stdlib.
|
||||
//
|
||||
// Go 1.7 and later:
|
||||
// The context returned will be the value returned by context.Background()
|
||||
//
|
||||
// See https://golang.org/pkg/context for more information on Contexts.
|
||||
func backgroundContext() Context {
|
||||
return context.Background()
|
||||
}
|
39
vendor/github.com/aws/aws-sdk-go/aws/credentials/context_go1.5.go
generated
vendored
Normal file
39
vendor/github.com/aws/aws-sdk-go/aws/credentials/context_go1.5.go
generated
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
// +build !go1.9
|
||||
|
||||
package credentials
|
||||
|
||||
import "time"
|
||||
|
||||
// Context is an copy of the Go v1.7 stdlib's context.Context interface.
|
||||
// It is represented as a SDK interface to enable you to use the "WithContext"
|
||||
// API methods with Go v1.6 and a Context type such as golang.org/x/net/context.
|
||||
//
|
||||
// This type, aws.Context, and context.Context are equivalent.
|
||||
//
|
||||
// See https://golang.org/pkg/context on how to use contexts.
|
||||
type Context interface {
|
||||
// Deadline returns the time when work done on behalf of this context
|
||||
// should be canceled. Deadline returns ok==false when no deadline is
|
||||
// set. Successive calls to Deadline return the same results.
|
||||
Deadline() (deadline time.Time, ok bool)
|
||||
|
||||
// Done returns a channel that's closed when work done on behalf of this
|
||||
// context should be canceled. Done may return nil if this context can
|
||||
// never be canceled. Successive calls to Done return the same value.
|
||||
Done() <-chan struct{}
|
||||
|
||||
// Err returns a non-nil error value after Done is closed. Err returns
|
||||
// Canceled if the context was canceled or DeadlineExceeded if the
|
||||
// context's deadline passed. No other values for Err are defined.
|
||||
// After Done is closed, successive calls to Err return the same value.
|
||||
Err() error
|
||||
|
||||
// Value returns the value associated with this context for key, or nil
|
||||
// if no value is associated with key. Successive calls to Value with
|
||||
// the same key returns the same result.
|
||||
//
|
||||
// Use context values only for request-scoped data that transits
|
||||
// processes and API boundaries, not for passing optional parameters to
|
||||
// functions.
|
||||
Value(key interface{}) interface{}
|
||||
}
|
13
vendor/github.com/aws/aws-sdk-go/aws/credentials/context_go1.9.go
generated
vendored
Normal file
13
vendor/github.com/aws/aws-sdk-go/aws/credentials/context_go1.9.go
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
// +build go1.9
|
||||
|
||||
package credentials
|
||||
|
||||
import "context"
|
||||
|
||||
// Context is an alias of the Go stdlib's context.Context interface.
|
||||
// It can be used within the SDK's API operation "WithContext" methods.
|
||||
//
|
||||
// This type, aws.Context, and context.Context are equivalent.
|
||||
//
|
||||
// See https://golang.org/pkg/context on how to use contexts.
|
||||
type Context = context.Context
|
138
vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go
generated
vendored
138
vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go
generated
vendored
@ -50,10 +50,11 @@ package credentials
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"sync"
|
||||
"sync/atomic"
|
||||
"time"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||
"github.com/aws/aws-sdk-go/internal/sync/singleflight"
|
||||
)
|
||||
|
||||
// AnonymousCredentials is an empty Credential object that can be used as
|
||||
@ -106,6 +107,13 @@ type Provider interface {
|
||||
IsExpired() bool
|
||||
}
|
||||
|
||||
// ProviderWithContext is a Provider that can retrieve credentials with a Context
|
||||
type ProviderWithContext interface {
|
||||
Provider
|
||||
|
||||
RetrieveWithContext(Context) (Value, error)
|
||||
}
|
||||
|
||||
// An Expirer is an interface that Providers can implement to expose the expiration
|
||||
// time, if known. If the Provider cannot accurately provide this info,
|
||||
// it should not implement this interface.
|
||||
@ -165,7 +173,9 @@ type Expiry struct {
|
||||
// the expiration time given to ensure no requests are made with expired
|
||||
// tokens.
|
||||
func (e *Expiry) SetExpiration(expiration time.Time, window time.Duration) {
|
||||
e.expiration = expiration
|
||||
// Passed in expirations should have the monotonic clock values stripped.
|
||||
// This ensures time comparisons will be based on wall-time.
|
||||
e.expiration = expiration.Round(0)
|
||||
if window > 0 {
|
||||
e.expiration = e.expiration.Add(-window)
|
||||
}
|
||||
@ -197,20 +207,68 @@ func (e *Expiry) ExpiresAt() time.Time {
|
||||
// first instance of the credentials Value. All calls to Get() after that
|
||||
// will return the cached credentials Value until IsExpired() returns true.
|
||||
type Credentials struct {
|
||||
creds Value
|
||||
forceRefresh bool
|
||||
|
||||
m sync.RWMutex
|
||||
creds atomic.Value
|
||||
sf singleflight.Group
|
||||
|
||||
provider Provider
|
||||
}
|
||||
|
||||
// NewCredentials returns a pointer to a new Credentials with the provider set.
|
||||
func NewCredentials(provider Provider) *Credentials {
|
||||
return &Credentials{
|
||||
provider: provider,
|
||||
forceRefresh: true,
|
||||
c := &Credentials{
|
||||
provider: provider,
|
||||
}
|
||||
c.creds.Store(Value{})
|
||||
return c
|
||||
}
|
||||
|
||||
// GetWithContext returns the credentials value, or error if the credentials
|
||||
// Value failed to be retrieved. Will return early if the passed in context is
|
||||
// canceled.
|
||||
//
|
||||
// Will return the cached credentials Value if it has not expired. If the
|
||||
// credentials Value has expired the Provider's Retrieve() will be called
|
||||
// to refresh the credentials.
|
||||
//
|
||||
// If Credentials.Expire() was called the credentials Value will be force
|
||||
// expired, and the next call to Get() will cause them to be refreshed.
|
||||
//
|
||||
// Passed in Context is equivalent to aws.Context, and context.Context.
|
||||
func (c *Credentials) GetWithContext(ctx Context) (Value, error) {
|
||||
if curCreds := c.creds.Load(); !c.isExpired(curCreds) {
|
||||
return curCreds.(Value), nil
|
||||
}
|
||||
|
||||
// Cannot pass context down to the actual retrieve, because the first
|
||||
// context would cancel the whole group when there is not direct
|
||||
// association of items in the group.
|
||||
resCh := c.sf.DoChan("", func() (interface{}, error) {
|
||||
return c.singleRetrieve(&suppressedContext{ctx})
|
||||
})
|
||||
select {
|
||||
case res := <-resCh:
|
||||
return res.Val.(Value), res.Err
|
||||
case <-ctx.Done():
|
||||
return Value{}, awserr.New("RequestCanceled",
|
||||
"request context canceled", ctx.Err())
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Credentials) singleRetrieve(ctx Context) (creds interface{}, err error) {
|
||||
if curCreds := c.creds.Load(); !c.isExpired(curCreds) {
|
||||
return curCreds.(Value), nil
|
||||
}
|
||||
|
||||
if p, ok := c.provider.(ProviderWithContext); ok {
|
||||
creds, err = p.RetrieveWithContext(ctx)
|
||||
} else {
|
||||
creds, err = c.provider.Retrieve()
|
||||
}
|
||||
if err == nil {
|
||||
c.creds.Store(creds)
|
||||
}
|
||||
|
||||
return creds, err
|
||||
}
|
||||
|
||||
// Get returns the credentials value, or error if the credentials Value failed
|
||||
@ -223,30 +281,7 @@ func NewCredentials(provider Provider) *Credentials {
|
||||
// If Credentials.Expire() was called the credentials Value will be force
|
||||
// expired, and the next call to Get() will cause them to be refreshed.
|
||||
func (c *Credentials) Get() (Value, error) {
|
||||
// Check the cached credentials first with just the read lock.
|
||||
c.m.RLock()
|
||||
if !c.isExpired() {
|
||||
creds := c.creds
|
||||
c.m.RUnlock()
|
||||
return creds, nil
|
||||
}
|
||||
c.m.RUnlock()
|
||||
|
||||
// Credentials are expired need to retrieve the credentials taking the full
|
||||
// lock.
|
||||
c.m.Lock()
|
||||
defer c.m.Unlock()
|
||||
|
||||
if c.isExpired() {
|
||||
creds, err := c.provider.Retrieve()
|
||||
if err != nil {
|
||||
return Value{}, err
|
||||
}
|
||||
c.creds = creds
|
||||
c.forceRefresh = false
|
||||
}
|
||||
|
||||
return c.creds, nil
|
||||
return c.GetWithContext(backgroundContext())
|
||||
}
|
||||
|
||||
// Expire expires the credentials and forces them to be retrieved on the
|
||||
@ -255,10 +290,7 @@ func (c *Credentials) Get() (Value, error) {
|
||||
// This will override the Provider's expired state, and force Credentials
|
||||
// to call the Provider's Retrieve().
|
||||
func (c *Credentials) Expire() {
|
||||
c.m.Lock()
|
||||
defer c.m.Unlock()
|
||||
|
||||
c.forceRefresh = true
|
||||
c.creds.Store(Value{})
|
||||
}
|
||||
|
||||
// IsExpired returns if the credentials are no longer valid, and need
|
||||
@ -267,33 +299,43 @@ func (c *Credentials) Expire() {
|
||||
// If the Credentials were forced to be expired with Expire() this will
|
||||
// reflect that override.
|
||||
func (c *Credentials) IsExpired() bool {
|
||||
c.m.RLock()
|
||||
defer c.m.RUnlock()
|
||||
|
||||
return c.isExpired()
|
||||
return c.isExpired(c.creds.Load())
|
||||
}
|
||||
|
||||
// isExpired helper method wrapping the definition of expired credentials.
|
||||
func (c *Credentials) isExpired() bool {
|
||||
return c.forceRefresh || c.provider.IsExpired()
|
||||
func (c *Credentials) isExpired(creds interface{}) bool {
|
||||
return creds == nil || creds.(Value) == Value{} || c.provider.IsExpired()
|
||||
}
|
||||
|
||||
// ExpiresAt provides access to the functionality of the Expirer interface of
|
||||
// the underlying Provider, if it supports that interface. Otherwise, it returns
|
||||
// an error.
|
||||
func (c *Credentials) ExpiresAt() (time.Time, error) {
|
||||
c.m.RLock()
|
||||
defer c.m.RUnlock()
|
||||
|
||||
expirer, ok := c.provider.(Expirer)
|
||||
if !ok {
|
||||
return time.Time{}, awserr.New("ProviderNotExpirer",
|
||||
fmt.Sprintf("provider %s does not support ExpiresAt()", c.creds.ProviderName),
|
||||
fmt.Sprintf("provider %s does not support ExpiresAt()", c.creds.Load().(Value).ProviderName),
|
||||
nil)
|
||||
}
|
||||
if c.forceRefresh {
|
||||
if c.creds.Load().(Value) == (Value{}) {
|
||||
// set expiration time to the distant past
|
||||
return time.Time{}, nil
|
||||
}
|
||||
return expirer.ExpiresAt(), nil
|
||||
}
|
||||
|
||||
type suppressedContext struct {
|
||||
Context
|
||||
}
|
||||
|
||||
func (s *suppressedContext) Deadline() (deadline time.Time, ok bool) {
|
||||
return time.Time{}, false
|
||||
}
|
||||
|
||||
func (s *suppressedContext) Done() <-chan struct{} {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *suppressedContext) Err() error {
|
||||
return nil
|
||||
}
|
||||
|
1
vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/BUILD
generated
vendored
1
vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/BUILD
generated
vendored
@ -7,6 +7,7 @@ go_library(
|
||||
importpath = "github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds",
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//vendor/github.com/aws/aws-sdk-go/aws:go_default_library",
|
||||
"//vendor/github.com/aws/aws-sdk-go/aws/awserr:go_default_library",
|
||||
"//vendor/github.com/aws/aws-sdk-go/aws/client:go_default_library",
|
||||
"//vendor/github.com/aws/aws-sdk-go/aws/credentials:go_default_library",
|
||||
|
20
vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.go
generated
vendored
20
vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.go
generated
vendored
@ -7,6 +7,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||
"github.com/aws/aws-sdk-go/aws/client"
|
||||
"github.com/aws/aws-sdk-go/aws/credentials"
|
||||
@ -87,7 +88,14 @@ func NewCredentialsWithClient(client *ec2metadata.EC2Metadata, options ...func(*
|
||||
// Error will be returned if the request fails, or unable to extract
|
||||
// the desired credentials.
|
||||
func (m *EC2RoleProvider) Retrieve() (credentials.Value, error) {
|
||||
credsList, err := requestCredList(m.Client)
|
||||
return m.RetrieveWithContext(aws.BackgroundContext())
|
||||
}
|
||||
|
||||
// RetrieveWithContext retrieves credentials from the EC2 service.
|
||||
// Error will be returned if the request fails, or unable to extract
|
||||
// the desired credentials.
|
||||
func (m *EC2RoleProvider) RetrieveWithContext(ctx credentials.Context) (credentials.Value, error) {
|
||||
credsList, err := requestCredList(ctx, m.Client)
|
||||
if err != nil {
|
||||
return credentials.Value{ProviderName: ProviderName}, err
|
||||
}
|
||||
@ -97,7 +105,7 @@ func (m *EC2RoleProvider) Retrieve() (credentials.Value, error) {
|
||||
}
|
||||
credsName := credsList[0]
|
||||
|
||||
roleCreds, err := requestCred(m.Client, credsName)
|
||||
roleCreds, err := requestCred(ctx, m.Client, credsName)
|
||||
if err != nil {
|
||||
return credentials.Value{ProviderName: ProviderName}, err
|
||||
}
|
||||
@ -130,8 +138,8 @@ const iamSecurityCredsPath = "iam/security-credentials/"
|
||||
|
||||
// requestCredList requests a list of credentials from the EC2 service.
|
||||
// If there are no credentials, or there is an error making or receiving the request
|
||||
func requestCredList(client *ec2metadata.EC2Metadata) ([]string, error) {
|
||||
resp, err := client.GetMetadata(iamSecurityCredsPath)
|
||||
func requestCredList(ctx aws.Context, client *ec2metadata.EC2Metadata) ([]string, error) {
|
||||
resp, err := client.GetMetadataWithContext(ctx, iamSecurityCredsPath)
|
||||
if err != nil {
|
||||
return nil, awserr.New("EC2RoleRequestError", "no EC2 instance role found", err)
|
||||
}
|
||||
@ -154,8 +162,8 @@ func requestCredList(client *ec2metadata.EC2Metadata) ([]string, error) {
|
||||
//
|
||||
// If the credentials cannot be found, or there is an error reading the response
|
||||
// and error will be returned.
|
||||
func requestCred(client *ec2metadata.EC2Metadata, credsName string) (ec2RoleCredRespBody, error) {
|
||||
resp, err := client.GetMetadata(sdkuri.PathJoin(iamSecurityCredsPath, credsName))
|
||||
func requestCred(ctx aws.Context, client *ec2metadata.EC2Metadata, credsName string) (ec2RoleCredRespBody, error) {
|
||||
resp, err := client.GetMetadataWithContext(ctx, sdkuri.PathJoin(iamSecurityCredsPath, credsName))
|
||||
if err != nil {
|
||||
return ec2RoleCredRespBody{},
|
||||
awserr.New("EC2RoleRequestError",
|
||||
|
11
vendor/github.com/aws/aws-sdk-go/aws/credentials/endpointcreds/provider.go
generated
vendored
11
vendor/github.com/aws/aws-sdk-go/aws/credentials/endpointcreds/provider.go
generated
vendored
@ -116,7 +116,13 @@ func (p *Provider) IsExpired() bool {
|
||||
// Retrieve will attempt to request the credentials from the endpoint the Provider
|
||||
// was configured for. And error will be returned if the retrieval fails.
|
||||
func (p *Provider) Retrieve() (credentials.Value, error) {
|
||||
resp, err := p.getCredentials()
|
||||
return p.RetrieveWithContext(aws.BackgroundContext())
|
||||
}
|
||||
|
||||
// RetrieveWithContext will attempt to request the credentials from the endpoint the Provider
|
||||
// was configured for. And error will be returned if the retrieval fails.
|
||||
func (p *Provider) RetrieveWithContext(ctx credentials.Context) (credentials.Value, error) {
|
||||
resp, err := p.getCredentials(ctx)
|
||||
if err != nil {
|
||||
return credentials.Value{ProviderName: ProviderName},
|
||||
awserr.New("CredentialsEndpointError", "failed to load credentials", err)
|
||||
@ -148,7 +154,7 @@ type errorOutput struct {
|
||||
Message string `json:"message"`
|
||||
}
|
||||
|
||||
func (p *Provider) getCredentials() (*getCredentialsOutput, error) {
|
||||
func (p *Provider) getCredentials(ctx aws.Context) (*getCredentialsOutput, error) {
|
||||
op := &request.Operation{
|
||||
Name: "GetCredentials",
|
||||
HTTPMethod: "GET",
|
||||
@ -156,6 +162,7 @@ func (p *Provider) getCredentials() (*getCredentialsOutput, error) {
|
||||
|
||||
out := &getCredentialsOutput{}
|
||||
req := p.Client.NewRequest(op, nil, out)
|
||||
req.SetContext(ctx)
|
||||
req.HTTPRequest.Header.Set("Accept", "application/json")
|
||||
if authToken := p.AuthorizationToken; len(authToken) != 0 {
|
||||
req.HTTPRequest.Header.Set("Authorization", authToken)
|
||||
|
5
vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go
generated
vendored
5
vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go
generated
vendored
@ -17,8 +17,9 @@ var (
|
||||
ErrSharedCredentialsHomeNotFound = awserr.New("UserHomeNotFound", "user home directory not found.", nil)
|
||||
)
|
||||
|
||||
// A SharedCredentialsProvider retrieves credentials from the current user's home
|
||||
// directory, and keeps track if those credentials are expired.
|
||||
// A SharedCredentialsProvider retrieves access key pair (access key ID,
|
||||
// secret access key, and session token if present) credentials from the current
|
||||
// user's home directory, and keeps track if those credentials are expired.
|
||||
//
|
||||
// Profile ini file example: $HOME/.aws/credentials
|
||||
type SharedCredentialsProvider struct {
|
||||
|
4
vendor/github.com/aws/aws-sdk-go/aws/credentials/static_provider.go
generated
vendored
4
vendor/github.com/aws/aws-sdk-go/aws/credentials/static_provider.go
generated
vendored
@ -19,7 +19,9 @@ type StaticProvider struct {
|
||||
}
|
||||
|
||||
// NewStaticCredentials returns a pointer to a new Credentials object
|
||||
// wrapping a static credentials value provider.
|
||||
// wrapping a static credentials value provider. Token is only required
|
||||
// for temporary security credentials retrieved via STS, otherwise an empty
|
||||
// string can be passed for this parameter.
|
||||
func NewStaticCredentials(id, secret, token string) *Credentials {
|
||||
return NewCredentials(&StaticProvider{Value: Value{
|
||||
AccessKeyID: id,
|
||||
|
1
vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/BUILD
generated
vendored
1
vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/BUILD
generated
vendored
@ -14,6 +14,7 @@ go_library(
|
||||
"//vendor/github.com/aws/aws-sdk-go/aws/awserr:go_default_library",
|
||||
"//vendor/github.com/aws/aws-sdk-go/aws/client:go_default_library",
|
||||
"//vendor/github.com/aws/aws-sdk-go/aws/credentials:go_default_library",
|
||||
"//vendor/github.com/aws/aws-sdk-go/aws/request:go_default_library",
|
||||
"//vendor/github.com/aws/aws-sdk-go/internal/sdkrand:go_default_library",
|
||||
"//vendor/github.com/aws/aws-sdk-go/service/sts:go_default_library",
|
||||
"//vendor/github.com/aws/aws-sdk-go/service/sts/stsiface:go_default_library",
|
||||
|
44
vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go
generated
vendored
44
vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go
generated
vendored
@ -87,6 +87,7 @@ import (
|
||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||
"github.com/aws/aws-sdk-go/aws/client"
|
||||
"github.com/aws/aws-sdk-go/aws/credentials"
|
||||
"github.com/aws/aws-sdk-go/aws/request"
|
||||
"github.com/aws/aws-sdk-go/internal/sdkrand"
|
||||
"github.com/aws/aws-sdk-go/service/sts"
|
||||
)
|
||||
@ -118,6 +119,10 @@ type AssumeRoler interface {
|
||||
AssumeRole(input *sts.AssumeRoleInput) (*sts.AssumeRoleOutput, error)
|
||||
}
|
||||
|
||||
type assumeRolerWithContext interface {
|
||||
AssumeRoleWithContext(aws.Context, *sts.AssumeRoleInput, ...request.Option) (*sts.AssumeRoleOutput, error)
|
||||
}
|
||||
|
||||
// DefaultDuration is the default amount of time in minutes that the credentials
|
||||
// will be valid for.
|
||||
var DefaultDuration = time.Duration(15) * time.Minute
|
||||
@ -164,6 +169,29 @@ type AssumeRoleProvider struct {
|
||||
// size.
|
||||
Policy *string
|
||||
|
||||
// The ARNs of IAM managed policies you want to use as managed session policies.
|
||||
// The policies must exist in the same account as the role.
|
||||
//
|
||||
// This parameter is optional. You can provide up to 10 managed policy ARNs.
|
||||
// However, the plain text that you use for both inline and managed session
|
||||
// policies can't exceed 2,048 characters.
|
||||
//
|
||||
// An AWS conversion compresses the passed session policies and session tags
|
||||
// into a packed binary format that has a separate limit. Your request can fail
|
||||
// for this limit even if your plain text meets the other requirements. The
|
||||
// PackedPolicySize response element indicates by percentage how close the policies
|
||||
// and tags for your request are to the upper size limit.
|
||||
//
|
||||
// Passing policies to this operation returns new temporary credentials. The
|
||||
// resulting session's permissions are the intersection of the role's identity-based
|
||||
// policy and the session policies. You can use the role's temporary credentials
|
||||
// in subsequent AWS API calls to access resources in the account that owns
|
||||
// the role. You cannot use session policies to grant more permissions than
|
||||
// those allowed by the identity-based policy of the role that is being assumed.
|
||||
// For more information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
|
||||
// in the IAM User Guide.
|
||||
PolicyArns []*sts.PolicyDescriptorType
|
||||
|
||||
// The identification number of the MFA device that is associated with the user
|
||||
// who is making the AssumeRole call. Specify this value if the trust policy
|
||||
// of the role being assumed includes a condition that requires MFA authentication.
|
||||
@ -265,6 +293,11 @@ func NewCredentialsWithClient(svc AssumeRoler, roleARN string, options ...func(*
|
||||
|
||||
// Retrieve generates a new set of temporary credentials using STS.
|
||||
func (p *AssumeRoleProvider) Retrieve() (credentials.Value, error) {
|
||||
return p.RetrieveWithContext(aws.BackgroundContext())
|
||||
}
|
||||
|
||||
// RetrieveWithContext generates a new set of temporary credentials using STS.
|
||||
func (p *AssumeRoleProvider) RetrieveWithContext(ctx credentials.Context) (credentials.Value, error) {
|
||||
// Apply defaults where parameters are not set.
|
||||
if p.RoleSessionName == "" {
|
||||
// Try to work out a role name that will hopefully end up unique.
|
||||
@ -281,6 +314,7 @@ func (p *AssumeRoleProvider) Retrieve() (credentials.Value, error) {
|
||||
RoleSessionName: aws.String(p.RoleSessionName),
|
||||
ExternalId: p.ExternalID,
|
||||
Tags: p.Tags,
|
||||
PolicyArns: p.PolicyArns,
|
||||
TransitiveTagKeys: p.TransitiveTagKeys,
|
||||
}
|
||||
if p.Policy != nil {
|
||||
@ -304,7 +338,15 @@ func (p *AssumeRoleProvider) Retrieve() (credentials.Value, error) {
|
||||
}
|
||||
}
|
||||
|
||||
roleOutput, err := p.Client.AssumeRole(input)
|
||||
var roleOutput *sts.AssumeRoleOutput
|
||||
var err error
|
||||
|
||||
if c, ok := p.Client.(assumeRolerWithContext); ok {
|
||||
roleOutput, err = c.AssumeRoleWithContext(ctx, input)
|
||||
} else {
|
||||
roleOutput, err = p.Client.AssumeRole(input)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return credentials.Value{ProviderName: ProviderName}, err
|
||||
}
|
||||
|
66
vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.go
generated
vendored
66
vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.go
generated
vendored
@ -28,15 +28,46 @@ const (
|
||||
// compare test values.
|
||||
var now = time.Now
|
||||
|
||||
// TokenFetcher shuold return WebIdentity token bytes or an error
|
||||
type TokenFetcher interface {
|
||||
FetchToken(credentials.Context) ([]byte, error)
|
||||
}
|
||||
|
||||
// FetchTokenPath is a path to a WebIdentity token file
|
||||
type FetchTokenPath string
|
||||
|
||||
// FetchToken returns a token by reading from the filesystem
|
||||
func (f FetchTokenPath) FetchToken(ctx credentials.Context) ([]byte, error) {
|
||||
data, err := ioutil.ReadFile(string(f))
|
||||
if err != nil {
|
||||
errMsg := fmt.Sprintf("unable to read file at %s", f)
|
||||
return nil, awserr.New(ErrCodeWebIdentity, errMsg, err)
|
||||
}
|
||||
return data, nil
|
||||
}
|
||||
|
||||
// WebIdentityRoleProvider is used to retrieve credentials using
|
||||
// an OIDC token.
|
||||
type WebIdentityRoleProvider struct {
|
||||
credentials.Expiry
|
||||
PolicyArns []*sts.PolicyDescriptorType
|
||||
|
||||
client stsiface.STSAPI
|
||||
// Duration the STS credentials will be valid for. Truncated to seconds.
|
||||
// If unset, the assumed role will use AssumeRoleWithWebIdentity's default
|
||||
// expiry duration. See
|
||||
// https://docs.aws.amazon.com/sdk-for-go/api/service/sts/#STS.AssumeRoleWithWebIdentity
|
||||
// for more information.
|
||||
Duration time.Duration
|
||||
|
||||
// The amount of time the credentials will be refreshed before they expire.
|
||||
// This is useful refresh credentials before they expire to reduce risk of
|
||||
// using credentials as they expire. If unset, will default to no expiry
|
||||
// window.
|
||||
ExpiryWindow time.Duration
|
||||
|
||||
tokenFilePath string
|
||||
client stsiface.STSAPI
|
||||
|
||||
tokenFetcher TokenFetcher
|
||||
roleARN string
|
||||
roleSessionName string
|
||||
}
|
||||
@ -52,9 +83,15 @@ func NewWebIdentityCredentials(c client.ConfigProvider, roleARN, roleSessionName
|
||||
// NewWebIdentityRoleProvider will return a new WebIdentityRoleProvider with the
|
||||
// provided stsiface.STSAPI
|
||||
func NewWebIdentityRoleProvider(svc stsiface.STSAPI, roleARN, roleSessionName, path string) *WebIdentityRoleProvider {
|
||||
return NewWebIdentityRoleProviderWithToken(svc, roleARN, roleSessionName, FetchTokenPath(path))
|
||||
}
|
||||
|
||||
// NewWebIdentityRoleProviderWithToken will return a new WebIdentityRoleProvider with the
|
||||
// provided stsiface.STSAPI and a TokenFetcher
|
||||
func NewWebIdentityRoleProviderWithToken(svc stsiface.STSAPI, roleARN, roleSessionName string, tokenFetcher TokenFetcher) *WebIdentityRoleProvider {
|
||||
return &WebIdentityRoleProvider{
|
||||
client: svc,
|
||||
tokenFilePath: path,
|
||||
tokenFetcher: tokenFetcher,
|
||||
roleARN: roleARN,
|
||||
roleSessionName: roleSessionName,
|
||||
}
|
||||
@ -64,10 +101,16 @@ func NewWebIdentityRoleProvider(svc stsiface.STSAPI, roleARN, roleSessionName, p
|
||||
// 'WebIdentityTokenFilePath' specified destination and if that is empty an
|
||||
// error will be returned.
|
||||
func (p *WebIdentityRoleProvider) Retrieve() (credentials.Value, error) {
|
||||
b, err := ioutil.ReadFile(p.tokenFilePath)
|
||||
return p.RetrieveWithContext(aws.BackgroundContext())
|
||||
}
|
||||
|
||||
// RetrieveWithContext will attempt to assume a role from a token which is located at
|
||||
// 'WebIdentityTokenFilePath' specified destination and if that is empty an
|
||||
// error will be returned.
|
||||
func (p *WebIdentityRoleProvider) RetrieveWithContext(ctx credentials.Context) (credentials.Value, error) {
|
||||
b, err := p.tokenFetcher.FetchToken(ctx)
|
||||
if err != nil {
|
||||
errMsg := fmt.Sprintf("unable to read file at %s", p.tokenFilePath)
|
||||
return credentials.Value{}, awserr.New(ErrCodeWebIdentity, errMsg, err)
|
||||
return credentials.Value{}, awserr.New(ErrCodeWebIdentity, "failed fetching WebIdentity token: ", err)
|
||||
}
|
||||
|
||||
sessionName := p.roleSessionName
|
||||
@ -76,11 +119,22 @@ func (p *WebIdentityRoleProvider) Retrieve() (credentials.Value, error) {
|
||||
// uses unix time in nanoseconds to uniquely identify sessions.
|
||||
sessionName = strconv.FormatInt(now().UnixNano(), 10)
|
||||
}
|
||||
|
||||
var duration *int64
|
||||
if p.Duration != 0 {
|
||||
duration = aws.Int64(int64(p.Duration / time.Second))
|
||||
}
|
||||
|
||||
req, resp := p.client.AssumeRoleWithWebIdentityRequest(&sts.AssumeRoleWithWebIdentityInput{
|
||||
PolicyArns: p.PolicyArns,
|
||||
RoleArn: &p.roleARN,
|
||||
RoleSessionName: &sessionName,
|
||||
WebIdentityToken: aws.String(string(b)),
|
||||
DurationSeconds: duration,
|
||||
})
|
||||
|
||||
req.SetContext(ctx)
|
||||
|
||||
// InvalidIdentityToken error is a temporary error that can occur
|
||||
// when assuming an Role with a JWT web identity token.
|
||||
req.RetryErrorCodes = append(req.RetryErrorCodes, sts.ErrCodeInvalidIdentityTokenException)
|
||||
|
69
vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go
generated
vendored
69
vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go
generated
vendored
@ -8,6 +8,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||
"github.com/aws/aws-sdk-go/aws/request"
|
||||
"github.com/aws/aws-sdk-go/internal/sdkuri"
|
||||
@ -15,15 +16,16 @@ import (
|
||||
|
||||
// getToken uses the duration to return a token for EC2 metadata service,
|
||||
// or an error if the request failed.
|
||||
func (c *EC2Metadata) getToken(duration time.Duration) (tokenOutput, error) {
|
||||
func (c *EC2Metadata) getToken(ctx aws.Context, duration time.Duration) (tokenOutput, error) {
|
||||
op := &request.Operation{
|
||||
Name: "GetToken",
|
||||
HTTPMethod: "PUT",
|
||||
HTTPPath: "/api/token",
|
||||
HTTPPath: "/latest/api/token",
|
||||
}
|
||||
|
||||
var output tokenOutput
|
||||
req := c.NewRequest(op, nil, &output)
|
||||
req.SetContext(ctx)
|
||||
|
||||
// remove the fetch token handler from the request handlers to avoid infinite recursion
|
||||
req.Handlers.Sign.RemoveByName(fetchTokenHandlerName)
|
||||
@ -50,15 +52,24 @@ func (c *EC2Metadata) getToken(duration time.Duration) (tokenOutput, error) {
|
||||
// instance metadata service. The content will be returned as a string, or
|
||||
// error if the request failed.
|
||||
func (c *EC2Metadata) GetMetadata(p string) (string, error) {
|
||||
return c.GetMetadataWithContext(aws.BackgroundContext(), p)
|
||||
}
|
||||
|
||||
// GetMetadataWithContext uses the path provided to request information from the EC2
|
||||
// instance metadata service. The content will be returned as a string, or
|
||||
// error if the request failed.
|
||||
func (c *EC2Metadata) GetMetadataWithContext(ctx aws.Context, p string) (string, error) {
|
||||
op := &request.Operation{
|
||||
Name: "GetMetadata",
|
||||
HTTPMethod: "GET",
|
||||
HTTPPath: sdkuri.PathJoin("/meta-data", p),
|
||||
HTTPPath: sdkuri.PathJoin("/latest/meta-data", p),
|
||||
}
|
||||
output := &metadataOutput{}
|
||||
|
||||
req := c.NewRequest(op, nil, output)
|
||||
|
||||
req.SetContext(ctx)
|
||||
|
||||
err := req.Send()
|
||||
return output.Content, err
|
||||
}
|
||||
@ -67,14 +78,22 @@ func (c *EC2Metadata) GetMetadata(p string) (string, error) {
|
||||
// there is no user-data setup for the EC2 instance a "NotFoundError" error
|
||||
// code will be returned.
|
||||
func (c *EC2Metadata) GetUserData() (string, error) {
|
||||
return c.GetUserDataWithContext(aws.BackgroundContext())
|
||||
}
|
||||
|
||||
// GetUserDataWithContext returns the userdata that was configured for the service. If
|
||||
// there is no user-data setup for the EC2 instance a "NotFoundError" error
|
||||
// code will be returned.
|
||||
func (c *EC2Metadata) GetUserDataWithContext(ctx aws.Context) (string, error) {
|
||||
op := &request.Operation{
|
||||
Name: "GetUserData",
|
||||
HTTPMethod: "GET",
|
||||
HTTPPath: "/user-data",
|
||||
HTTPPath: "/latest/user-data",
|
||||
}
|
||||
|
||||
output := &metadataOutput{}
|
||||
req := c.NewRequest(op, nil, output)
|
||||
req.SetContext(ctx)
|
||||
|
||||
err := req.Send()
|
||||
return output.Content, err
|
||||
@ -84,14 +103,22 @@ func (c *EC2Metadata) GetUserData() (string, error) {
|
||||
// instance metadata service for dynamic data. The content will be returned
|
||||
// as a string, or error if the request failed.
|
||||
func (c *EC2Metadata) GetDynamicData(p string) (string, error) {
|
||||
return c.GetDynamicDataWithContext(aws.BackgroundContext(), p)
|
||||
}
|
||||
|
||||
// GetDynamicDataWithContext uses the path provided to request information from the EC2
|
||||
// instance metadata service for dynamic data. The content will be returned
|
||||
// as a string, or error if the request failed.
|
||||
func (c *EC2Metadata) GetDynamicDataWithContext(ctx aws.Context, p string) (string, error) {
|
||||
op := &request.Operation{
|
||||
Name: "GetDynamicData",
|
||||
HTTPMethod: "GET",
|
||||
HTTPPath: sdkuri.PathJoin("/dynamic", p),
|
||||
HTTPPath: sdkuri.PathJoin("/latest/dynamic", p),
|
||||
}
|
||||
|
||||
output := &metadataOutput{}
|
||||
req := c.NewRequest(op, nil, output)
|
||||
req.SetContext(ctx)
|
||||
|
||||
err := req.Send()
|
||||
return output.Content, err
|
||||
@ -101,7 +128,14 @@ func (c *EC2Metadata) GetDynamicData(p string) (string, error) {
|
||||
// instance. Error is returned if the request fails or is unable to parse
|
||||
// the response.
|
||||
func (c *EC2Metadata) GetInstanceIdentityDocument() (EC2InstanceIdentityDocument, error) {
|
||||
resp, err := c.GetDynamicData("instance-identity/document")
|
||||
return c.GetInstanceIdentityDocumentWithContext(aws.BackgroundContext())
|
||||
}
|
||||
|
||||
// GetInstanceIdentityDocumentWithContext retrieves an identity document describing an
|
||||
// instance. Error is returned if the request fails or is unable to parse
|
||||
// the response.
|
||||
func (c *EC2Metadata) GetInstanceIdentityDocumentWithContext(ctx aws.Context) (EC2InstanceIdentityDocument, error) {
|
||||
resp, err := c.GetDynamicDataWithContext(ctx, "instance-identity/document")
|
||||
if err != nil {
|
||||
return EC2InstanceIdentityDocument{},
|
||||
awserr.New("EC2MetadataRequestError",
|
||||
@ -120,7 +154,12 @@ func (c *EC2Metadata) GetInstanceIdentityDocument() (EC2InstanceIdentityDocument
|
||||
|
||||
// IAMInfo retrieves IAM info from the metadata API
|
||||
func (c *EC2Metadata) IAMInfo() (EC2IAMInfo, error) {
|
||||
resp, err := c.GetMetadata("iam/info")
|
||||
return c.IAMInfoWithContext(aws.BackgroundContext())
|
||||
}
|
||||
|
||||
// IAMInfoWithContext retrieves IAM info from the metadata API
|
||||
func (c *EC2Metadata) IAMInfoWithContext(ctx aws.Context) (EC2IAMInfo, error) {
|
||||
resp, err := c.GetMetadataWithContext(ctx, "iam/info")
|
||||
if err != nil {
|
||||
return EC2IAMInfo{},
|
||||
awserr.New("EC2MetadataRequestError",
|
||||
@ -145,7 +184,12 @@ func (c *EC2Metadata) IAMInfo() (EC2IAMInfo, error) {
|
||||
|
||||
// Region returns the region the instance is running in.
|
||||
func (c *EC2Metadata) Region() (string, error) {
|
||||
ec2InstanceIdentityDocument, err := c.GetInstanceIdentityDocument()
|
||||
return c.RegionWithContext(aws.BackgroundContext())
|
||||
}
|
||||
|
||||
// RegionWithContext returns the region the instance is running in.
|
||||
func (c *EC2Metadata) RegionWithContext(ctx aws.Context) (string, error) {
|
||||
ec2InstanceIdentityDocument, err := c.GetInstanceIdentityDocumentWithContext(ctx)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
@ -162,7 +206,14 @@ func (c *EC2Metadata) Region() (string, error) {
|
||||
// Can be used to determine if application is running within an EC2 Instance and
|
||||
// the metadata service is available.
|
||||
func (c *EC2Metadata) Available() bool {
|
||||
if _, err := c.GetMetadata("instance-id"); err != nil {
|
||||
return c.AvailableWithContext(aws.BackgroundContext())
|
||||
}
|
||||
|
||||
// AvailableWithContext returns if the application has access to the EC2 Metadata service.
|
||||
// Can be used to determine if application is running within an EC2 Instance and
|
||||
// the metadata service is available.
|
||||
func (c *EC2Metadata) AvailableWithContext(ctx aws.Context) bool {
|
||||
if _, err := c.GetMetadataWithContext(ctx, "instance-id"); err != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
|
19
vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go
generated
vendored
19
vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go
generated
vendored
@ -5,6 +5,10 @@
|
||||
// variable "AWS_EC2_METADATA_DISABLED=true". This environment variable set to
|
||||
// true instructs the SDK to disable the EC2 Metadata client. The client cannot
|
||||
// be used while the environment variable is set to true, (case insensitive).
|
||||
//
|
||||
// The endpoint of the EC2 IMDS client can be configured via the environment
|
||||
// variable, AWS_EC2_METADATA_SERVICE_ENDPOINT when creating the client with a
|
||||
// Session. See aws/session#Options.EC2IMDSEndpoint for more details.
|
||||
package ec2metadata
|
||||
|
||||
import (
|
||||
@ -12,6 +16,7 @@ import (
|
||||
"errors"
|
||||
"io"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
@ -41,7 +46,7 @@ const (
|
||||
enableTokenProviderHandlerName = "enableTokenProviderHandler"
|
||||
|
||||
// TTL constants
|
||||
defaultTTL = 21600 * time.Second
|
||||
defaultTTL = 21600 * time.Second
|
||||
ttlExpirationWindow = 30 * time.Second
|
||||
)
|
||||
|
||||
@ -69,6 +74,9 @@ func New(p client.ConfigProvider, cfgs ...*aws.Config) *EC2Metadata {
|
||||
// a client when not using a session. Generally using just New with a session
|
||||
// is preferred.
|
||||
//
|
||||
// Will remove the URL path from the endpoint provided to ensure the EC2 IMDS
|
||||
// client is able to communicate with the EC2 IMDS API.
|
||||
//
|
||||
// If an unmodified HTTP client is provided from the stdlib default, or no client
|
||||
// the EC2RoleProvider's EC2Metadata HTTP client's timeout will be shortened.
|
||||
// To disable this set Config.EC2MetadataDisableTimeoutOverride to false. Enabled by default.
|
||||
@ -86,6 +94,15 @@ func NewClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegio
|
||||
cfg.MaxRetries = aws.Int(2)
|
||||
}
|
||||
|
||||
if u, err := url.Parse(endpoint); err == nil {
|
||||
// Remove path from the endpoint since it will be added by requests.
|
||||
// This is an artifact of the SDK adding `/latest` to the endpoint for
|
||||
// EC2 IMDS, but this is now moved to the operation definition.
|
||||
u.Path = ""
|
||||
u.RawPath = ""
|
||||
endpoint = u.String()
|
||||
}
|
||||
|
||||
svc := &EC2Metadata{
|
||||
Client: client.New(
|
||||
cfg,
|
||||
|
3
vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/token_provider.go
generated
vendored
3
vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/token_provider.go
generated
vendored
@ -46,7 +46,7 @@ func (t *tokenProvider) fetchTokenHandler(r *request.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
output, err := t.client.getToken(t.configuredTTL)
|
||||
output, err := t.client.getToken(r.Context(), t.configuredTTL)
|
||||
|
||||
if err != nil {
|
||||
|
||||
@ -87,6 +87,7 @@ func (t *tokenProvider) enableTokenProviderHandler(r *request.Request) {
|
||||
// If the error code status is 401, we enable the token provider
|
||||
if e, ok := r.Error.(awserr.RequestFailure); ok && e != nil &&
|
||||
e.StatusCode() == http.StatusUnauthorized {
|
||||
t.token.Store(ec2Token{})
|
||||
atomic.StoreUint32(&t.disabled, 0)
|
||||
}
|
||||
}
|
||||
|
2
vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go
generated
vendored
@ -93,7 +93,7 @@ func decodeV3Endpoints(modelDef modelDefinition, opts DecodeModelOptions) (Resol
|
||||
}
|
||||
|
||||
func custAddS3DualStack(p *partition) {
|
||||
if p.ID != "aws" {
|
||||
if !(p.ID == "aws" || p.ID == "aws-cn" || p.ID == "aws-us-gov") {
|
||||
return
|
||||
}
|
||||
|
||||
|
4166
vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
generated
vendored
4166
vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
generated
vendored
File diff suppressed because it is too large
Load Diff
16
vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go
generated
vendored
16
vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go
generated
vendored
@ -7,6 +7,8 @@ import (
|
||||
"strings"
|
||||
)
|
||||
|
||||
var regionValidationRegex = regexp.MustCompile(`^[[:alnum:]]([[:alnum:]\-]*[[:alnum:]])?$`)
|
||||
|
||||
type partitions []partition
|
||||
|
||||
func (ps partitions) EndpointFor(service, region string, opts ...func(*Options)) (ResolvedEndpoint, error) {
|
||||
@ -124,7 +126,7 @@ func (p partition) EndpointFor(service, region string, opts ...func(*Options)) (
|
||||
|
||||
defs := []endpoint{p.Defaults, s.Defaults}
|
||||
|
||||
return e.resolve(service, p.ID, region, p.DNSSuffix, defs, opt), nil
|
||||
return e.resolve(service, p.ID, region, p.DNSSuffix, defs, opt)
|
||||
}
|
||||
|
||||
func serviceList(ss services) []string {
|
||||
@ -233,7 +235,7 @@ func getByPriority(s []string, p []string, def string) string {
|
||||
return s[0]
|
||||
}
|
||||
|
||||
func (e endpoint) resolve(service, partitionID, region, dnsSuffix string, defs []endpoint, opts Options) ResolvedEndpoint {
|
||||
func (e endpoint) resolve(service, partitionID, region, dnsSuffix string, defs []endpoint, opts Options) (ResolvedEndpoint, error) {
|
||||
var merged endpoint
|
||||
for _, def := range defs {
|
||||
merged.mergeIn(def)
|
||||
@ -260,6 +262,10 @@ func (e endpoint) resolve(service, partitionID, region, dnsSuffix string, defs [
|
||||
region = signingRegion
|
||||
}
|
||||
|
||||
if !validateInputRegion(region) {
|
||||
return ResolvedEndpoint{}, fmt.Errorf("invalid region identifier format provided")
|
||||
}
|
||||
|
||||
u := strings.Replace(hostname, "{service}", service, 1)
|
||||
u = strings.Replace(u, "{region}", region, 1)
|
||||
u = strings.Replace(u, "{dnsSuffix}", dnsSuffix, 1)
|
||||
@ -274,7 +280,7 @@ func (e endpoint) resolve(service, partitionID, region, dnsSuffix string, defs [
|
||||
SigningName: signingName,
|
||||
SigningNameDerived: signingNameDerived,
|
||||
SigningMethod: getByPriority(e.SignatureVersions, signerPriority, defaultSigner),
|
||||
}
|
||||
}, nil
|
||||
}
|
||||
|
||||
func getEndpointScheme(protocols []string, disableSSL bool) string {
|
||||
@ -339,3 +345,7 @@ const (
|
||||
boxedFalse
|
||||
boxedTrue
|
||||
)
|
||||
|
||||
func validateInputRegion(region string) bool {
|
||||
return regionValidationRegex.MatchString(region)
|
||||
}
|
||||
|
3
vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error.go
generated
vendored
3
vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error.go
generated
vendored
@ -9,7 +9,8 @@ func isErrConnectionReset(err error) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
if strings.Contains(err.Error(), "connection reset") ||
|
||||
if strings.Contains(err.Error(), "use of closed network connection") ||
|
||||
strings.Contains(err.Error(), "connection reset") ||
|
||||
strings.Contains(err.Error(), "broken pipe") {
|
||||
return true
|
||||
}
|
||||
|
8
vendor/github.com/aws/aws-sdk-go/aws/request/request.go
generated
vendored
8
vendor/github.com/aws/aws-sdk-go/aws/request/request.go
generated
vendored
@ -135,8 +135,6 @@ func New(cfg aws.Config, clientInfo metadata.ClientInfo, handlers Handlers,
|
||||
err = awserr.New("InvalidEndpointURL", "invalid endpoint uri", err)
|
||||
}
|
||||
|
||||
SanitizeHostForHeader(httpReq)
|
||||
|
||||
r := &Request{
|
||||
Config: cfg,
|
||||
ClientInfo: clientInfo,
|
||||
@ -426,6 +424,8 @@ func (r *Request) Sign() error {
|
||||
return r.Error
|
||||
}
|
||||
|
||||
SanitizeHostForHeader(r.HTTPRequest)
|
||||
|
||||
r.Handlers.Sign.Run(r)
|
||||
return r.Error
|
||||
}
|
||||
@ -639,6 +639,10 @@ func getHost(r *http.Request) string {
|
||||
return r.Host
|
||||
}
|
||||
|
||||
if r.URL == nil {
|
||||
return ""
|
||||
}
|
||||
|
||||
return r.URL.Host
|
||||
}
|
||||
|
||||
|
1
vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go
generated
vendored
1
vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go
generated
vendored
@ -92,6 +92,7 @@ var throttleCodes = map[string]struct{}{
|
||||
"TooManyRequestsException": {}, // Lambda functions
|
||||
"PriorRequestNotComplete": {}, // Route53
|
||||
"TransactionInProgressException": {},
|
||||
"EC2ThrottledException": {}, // EC2
|
||||
}
|
||||
|
||||
// credsExpiredCodes is a collection of error codes which signify the credentials
|
||||
|
10
vendor/github.com/aws/aws-sdk-go/aws/session/credentials.go
generated
vendored
10
vendor/github.com/aws/aws-sdk-go/aws/session/credentials.go
generated
vendored
@ -3,6 +3,7 @@ package session
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||
@ -206,7 +207,14 @@ func credsFromAssumeRole(cfg aws.Config,
|
||||
sharedCfg.RoleARN,
|
||||
func(opt *stscreds.AssumeRoleProvider) {
|
||||
opt.RoleSessionName = sharedCfg.RoleSessionName
|
||||
opt.Duration = sessOpts.AssumeRoleDuration
|
||||
|
||||
if sessOpts.AssumeRoleDuration == 0 &&
|
||||
sharedCfg.AssumeRoleDuration != nil &&
|
||||
*sharedCfg.AssumeRoleDuration/time.Minute > 15 {
|
||||
opt.Duration = *sharedCfg.AssumeRoleDuration
|
||||
} else if sessOpts.AssumeRoleDuration != 0 {
|
||||
opt.Duration = sessOpts.AssumeRoleDuration
|
||||
}
|
||||
|
||||
// Assume role with external ID
|
||||
if len(sharedCfg.ExternalID) > 0 {
|
||||
|
17
vendor/github.com/aws/aws-sdk-go/aws/session/doc.go
generated
vendored
17
vendor/github.com/aws/aws-sdk-go/aws/session/doc.go
generated
vendored
@ -241,5 +241,22 @@ over the AWS_CA_BUNDLE environment variable, and will be used if both are set.
|
||||
Setting a custom HTTPClient in the aws.Config options will override this setting.
|
||||
To use this option and custom HTTP client, the HTTP client needs to be provided
|
||||
when creating the session. Not the service client.
|
||||
|
||||
The endpoint of the EC2 IMDS client can be configured via the environment
|
||||
variable, AWS_EC2_METADATA_SERVICE_ENDPOINT when creating the client with a
|
||||
Session. See Options.EC2IMDSEndpoint for more details.
|
||||
|
||||
AWS_EC2_METADATA_SERVICE_ENDPOINT=http://169.254.169.254
|
||||
|
||||
If using an URL with an IPv6 address literal, the IPv6 address
|
||||
component must be enclosed in square brackets.
|
||||
|
||||
AWS_EC2_METADATA_SERVICE_ENDPOINT=http://[::1]
|
||||
|
||||
The custom EC2 IMDS endpoint can also be specified via the Session options.
|
||||
|
||||
sess, err := session.NewSessionWithOptions(session.Options{
|
||||
EC2IMDSEndpoint: "http://[::1]",
|
||||
})
|
||||
*/
|
||||
package session
|
||||
|
10
vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go
generated
vendored
10
vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go
generated
vendored
@ -148,6 +148,11 @@ type envConfig struct {
|
||||
//
|
||||
// AWS_S3_USE_ARN_REGION=true
|
||||
S3UseARNRegion bool
|
||||
|
||||
// Specifies the alternative endpoint to use for EC2 IMDS.
|
||||
//
|
||||
// AWS_EC2_METADATA_SERVICE_ENDPOINT=http://[::1]
|
||||
EC2IMDSEndpoint string
|
||||
}
|
||||
|
||||
var (
|
||||
@ -211,6 +216,9 @@ var (
|
||||
s3UseARNRegionEnvKey = []string{
|
||||
"AWS_S3_USE_ARN_REGION",
|
||||
}
|
||||
ec2IMDSEndpointEnvKey = []string{
|
||||
"AWS_EC2_METADATA_SERVICE_ENDPOINT",
|
||||
}
|
||||
)
|
||||
|
||||
// loadEnvConfig retrieves the SDK's environment configuration.
|
||||
@ -332,6 +340,8 @@ func envConfigLoad(enableSharedConfig bool) (envConfig, error) {
|
||||
}
|
||||
}
|
||||
|
||||
setFromEnvVal(&cfg.EC2IMDSEndpoint, ec2IMDSEndpointEnvKey)
|
||||
|
||||
return cfg, nil
|
||||
}
|
||||
|
||||
|
61
vendor/github.com/aws/aws-sdk-go/aws/session/session.go
generated
vendored
61
vendor/github.com/aws/aws-sdk-go/aws/session/session.go
generated
vendored
@ -48,6 +48,8 @@ var ErrSharedConfigInvalidCredSource = awserr.New(ErrCodeSharedConfig, "credenti
|
||||
type Session struct {
|
||||
Config *aws.Config
|
||||
Handlers request.Handlers
|
||||
|
||||
options Options
|
||||
}
|
||||
|
||||
// New creates a new instance of the handlers merging in the provided configs
|
||||
@ -99,7 +101,7 @@ func New(cfgs ...*aws.Config) *Session {
|
||||
return s
|
||||
}
|
||||
|
||||
s := deprecatedNewSession(cfgs...)
|
||||
s := deprecatedNewSession(envCfg, cfgs...)
|
||||
if envErr != nil {
|
||||
msg := "failed to load env config"
|
||||
s.logDeprecatedNewSessionError(msg, envErr, cfgs)
|
||||
@ -243,6 +245,23 @@ type Options struct {
|
||||
// function to initialize this value before changing the handlers to be
|
||||
// used by the SDK.
|
||||
Handlers request.Handlers
|
||||
|
||||
// Allows specifying a custom endpoint to be used by the EC2 IMDS client
|
||||
// when making requests to the EC2 IMDS API. The must endpoint value must
|
||||
// include protocol prefix.
|
||||
//
|
||||
// If unset, will the EC2 IMDS client will use its default endpoint.
|
||||
//
|
||||
// Can also be specified via the environment variable,
|
||||
// AWS_EC2_METADATA_SERVICE_ENDPOINT.
|
||||
//
|
||||
// AWS_EC2_METADATA_SERVICE_ENDPOINT=http://169.254.169.254
|
||||
//
|
||||
// If using an URL with an IPv6 address literal, the IPv6 address
|
||||
// component must be enclosed in square brackets.
|
||||
//
|
||||
// AWS_EC2_METADATA_SERVICE_ENDPOINT=http://[::1]
|
||||
EC2IMDSEndpoint string
|
||||
}
|
||||
|
||||
// NewSessionWithOptions returns a new Session created from SDK defaults, config files,
|
||||
@ -329,7 +348,25 @@ func Must(sess *Session, err error) *Session {
|
||||
return sess
|
||||
}
|
||||
|
||||
func deprecatedNewSession(cfgs ...*aws.Config) *Session {
|
||||
// Wraps the endpoint resolver with a resolver that will return a custom
|
||||
// endpoint for EC2 IMDS.
|
||||
func wrapEC2IMDSEndpoint(resolver endpoints.Resolver, endpoint string) endpoints.Resolver {
|
||||
return endpoints.ResolverFunc(
|
||||
func(service, region string, opts ...func(*endpoints.Options)) (
|
||||
endpoints.ResolvedEndpoint, error,
|
||||
) {
|
||||
if service == ec2MetadataServiceID {
|
||||
return endpoints.ResolvedEndpoint{
|
||||
URL: endpoint,
|
||||
SigningName: ec2MetadataServiceID,
|
||||
SigningRegion: region,
|
||||
}, nil
|
||||
}
|
||||
return resolver.EndpointFor(service, region)
|
||||
})
|
||||
}
|
||||
|
||||
func deprecatedNewSession(envCfg envConfig, cfgs ...*aws.Config) *Session {
|
||||
cfg := defaults.Config()
|
||||
handlers := defaults.Handlers()
|
||||
|
||||
@ -341,6 +378,11 @@ func deprecatedNewSession(cfgs ...*aws.Config) *Session {
|
||||
// endpoints for service client configurations.
|
||||
cfg.EndpointResolver = endpoints.DefaultResolver()
|
||||
}
|
||||
|
||||
if len(envCfg.EC2IMDSEndpoint) != 0 {
|
||||
cfg.EndpointResolver = wrapEC2IMDSEndpoint(cfg.EndpointResolver, envCfg.EC2IMDSEndpoint)
|
||||
}
|
||||
|
||||
cfg.Credentials = defaults.CredChain(cfg, handlers)
|
||||
|
||||
// Reapply any passed in configs to override credentials if set
|
||||
@ -349,6 +391,9 @@ func deprecatedNewSession(cfgs ...*aws.Config) *Session {
|
||||
s := &Session{
|
||||
Config: cfg,
|
||||
Handlers: handlers,
|
||||
options: Options{
|
||||
EC2IMDSEndpoint: envCfg.EC2IMDSEndpoint,
|
||||
},
|
||||
}
|
||||
|
||||
initHandlers(s)
|
||||
@ -418,6 +463,7 @@ func newSession(opts Options, envCfg envConfig, cfgs ...*aws.Config) (*Session,
|
||||
s := &Session{
|
||||
Config: cfg,
|
||||
Handlers: handlers,
|
||||
options: opts,
|
||||
}
|
||||
|
||||
initHandlers(s)
|
||||
@ -570,6 +616,14 @@ func mergeConfigSrcs(cfg, userCfg *aws.Config,
|
||||
endpoints.LegacyS3UsEast1Endpoint,
|
||||
})
|
||||
|
||||
ec2IMDSEndpoint := sessOpts.EC2IMDSEndpoint
|
||||
if len(ec2IMDSEndpoint) == 0 {
|
||||
ec2IMDSEndpoint = envCfg.EC2IMDSEndpoint
|
||||
}
|
||||
if len(ec2IMDSEndpoint) != 0 {
|
||||
cfg.EndpointResolver = wrapEC2IMDSEndpoint(cfg.EndpointResolver, ec2IMDSEndpoint)
|
||||
}
|
||||
|
||||
// Configure credentials if not already set by the user when creating the
|
||||
// Session.
|
||||
if cfg.Credentials == credentials.AnonymousCredentials && userCfg.Credentials == nil {
|
||||
@ -627,6 +681,7 @@ func (s *Session) Copy(cfgs ...*aws.Config) *Session {
|
||||
newSession := &Session{
|
||||
Config: s.Config.Copy(cfgs...),
|
||||
Handlers: s.Handlers.Copy(),
|
||||
options: s.options,
|
||||
}
|
||||
|
||||
initHandlers(newSession)
|
||||
@ -665,6 +720,8 @@ func (s *Session) ClientConfig(service string, cfgs ...*aws.Config) client.Confi
|
||||
}
|
||||
}
|
||||
|
||||
const ec2MetadataServiceID = "ec2metadata"
|
||||
|
||||
func (s *Session) resolveEndpoint(service, region string, cfg *aws.Config) (endpoints.ResolvedEndpoint, error) {
|
||||
|
||||
if ep := aws.StringValue(cfg.Endpoint); len(ep) != 0 {
|
||||
|
28
vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go
generated
vendored
28
vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go
generated
vendored
@ -2,6 +2,7 @@ package session
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||
"github.com/aws/aws-sdk-go/aws/credentials"
|
||||
@ -16,12 +17,13 @@ const (
|
||||
sessionTokenKey = `aws_session_token` // optional
|
||||
|
||||
// Assume Role Credentials group
|
||||
roleArnKey = `role_arn` // group required
|
||||
sourceProfileKey = `source_profile` // group required (or credential_source)
|
||||
credentialSourceKey = `credential_source` // group required (or source_profile)
|
||||
externalIDKey = `external_id` // optional
|
||||
mfaSerialKey = `mfa_serial` // optional
|
||||
roleSessionNameKey = `role_session_name` // optional
|
||||
roleArnKey = `role_arn` // group required
|
||||
sourceProfileKey = `source_profile` // group required (or credential_source)
|
||||
credentialSourceKey = `credential_source` // group required (or source_profile)
|
||||
externalIDKey = `external_id` // optional
|
||||
mfaSerialKey = `mfa_serial` // optional
|
||||
roleSessionNameKey = `role_session_name` // optional
|
||||
roleDurationSecondsKey = "duration_seconds" // optional
|
||||
|
||||
// CSM options
|
||||
csmEnabledKey = `csm_enabled`
|
||||
@ -73,10 +75,11 @@ type sharedConfig struct {
|
||||
CredentialProcess string
|
||||
WebIdentityTokenFile string
|
||||
|
||||
RoleARN string
|
||||
RoleSessionName string
|
||||
ExternalID string
|
||||
MFASerial string
|
||||
RoleARN string
|
||||
RoleSessionName string
|
||||
ExternalID string
|
||||
MFASerial string
|
||||
AssumeRoleDuration *time.Duration
|
||||
|
||||
SourceProfileName string
|
||||
SourceProfile *sharedConfig
|
||||
@ -274,6 +277,11 @@ func (cfg *sharedConfig) setFromIniFile(profile string, file sharedConfigFile, e
|
||||
updateString(&cfg.CredentialSource, section, credentialSourceKey)
|
||||
updateString(&cfg.Region, section, regionKey)
|
||||
|
||||
if section.Has(roleDurationSecondsKey) {
|
||||
d := time.Duration(section.Int(roleDurationSecondsKey)) * time.Second
|
||||
cfg.AssumeRoleDuration = &d
|
||||
}
|
||||
|
||||
if v := section.String(stsRegionalEndpointSharedKey); len(v) != 0 {
|
||||
sre, err := endpoints.GetSTSRegionalEndpoint(v)
|
||||
if err != nil {
|
||||
|
2
vendor/github.com/aws/aws-sdk-go/aws/signer/v4/BUILD
generated
vendored
2
vendor/github.com/aws/aws-sdk-go/aws/signer/v4/BUILD
generated
vendored
@ -5,6 +5,8 @@ go_library(
|
||||
srcs = [
|
||||
"header_rules.go",
|
||||
"options.go",
|
||||
"request_context_go1.5.go",
|
||||
"request_context_go1.7.go",
|
||||
"stream.go",
|
||||
"uri_path.go",
|
||||
"v4.go",
|
||||
|
13
vendor/github.com/aws/aws-sdk-go/aws/signer/v4/request_context_go1.5.go
generated
vendored
Normal file
13
vendor/github.com/aws/aws-sdk-go/aws/signer/v4/request_context_go1.5.go
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
// +build !go1.7
|
||||
|
||||
package v4
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
)
|
||||
|
||||
func requestContext(r *http.Request) aws.Context {
|
||||
return aws.BackgroundContext()
|
||||
}
|
13
vendor/github.com/aws/aws-sdk-go/aws/signer/v4/request_context_go1.7.go
generated
vendored
Normal file
13
vendor/github.com/aws/aws-sdk-go/aws/signer/v4/request_context_go1.7.go
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
// +build go1.7
|
||||
|
||||
package v4
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
)
|
||||
|
||||
func requestContext(r *http.Request) aws.Context {
|
||||
return r.Context()
|
||||
}
|
2
vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go
generated
vendored
@ -340,7 +340,7 @@ func (v4 Signer) signWithBody(r *http.Request, body io.ReadSeeker, service, regi
|
||||
}
|
||||
|
||||
var err error
|
||||
ctx.credValues, err = v4.Credentials.Get()
|
||||
ctx.credValues, err = v4.Credentials.GetWithContext(requestContext(r))
|
||||
if err != nil {
|
||||
return http.Header{}, err
|
||||
}
|
||||
|
23
vendor/github.com/aws/aws-sdk-go/aws/types.go
generated
vendored
23
vendor/github.com/aws/aws-sdk-go/aws/types.go
generated
vendored
@ -239,3 +239,26 @@ func (es errors) Error() string {
|
||||
|
||||
return strings.Join(parts, "\n")
|
||||
}
|
||||
|
||||
// CopySeekableBody copies the seekable body to an io.Writer
|
||||
func CopySeekableBody(dst io.Writer, src io.ReadSeeker) (int64, error) {
|
||||
curPos, err := src.Seek(0, sdkio.SeekCurrent)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
|
||||
// copy errors may be assumed to be from the body.
|
||||
n, err := io.Copy(dst, src)
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
|
||||
// seek back to the first position after reading to reset
|
||||
// the body for transmission.
|
||||
_, err = src.Seek(curPos, sdkio.SeekStart)
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
|
||||
return n, nil
|
||||
}
|
||||
|
2
vendor/github.com/aws/aws-sdk-go/aws/version.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go/aws/version.go
generated
vendored
@ -5,4 +5,4 @@ package aws
|
||||
const SDKName = "aws-sdk-go"
|
||||
|
||||
// SDKVersion is the version of this SDK
|
||||
const SDKVersion = "1.28.2"
|
||||
const SDKVersion = "1.35.5"
|
||||
|
23
vendor/github.com/aws/aws-sdk-go/internal/context/BUILD
generated
vendored
Normal file
23
vendor/github.com/aws/aws-sdk-go/internal/context/BUILD
generated
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = ["background_go1.5.go"],
|
||||
importmap = "k8s.io/kubernetes/vendor/github.com/aws/aws-sdk-go/internal/context",
|
||||
importpath = "github.com/aws/aws-sdk-go/internal/context",
|
||||
visibility = ["//vendor/github.com/aws/aws-sdk-go:__subpackages__"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "package-srcs",
|
||||
srcs = glob(["**"]),
|
||||
tags = ["automanaged"],
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all-srcs",
|
||||
srcs = [":package-srcs"],
|
||||
tags = ["automanaged"],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
40
vendor/github.com/aws/aws-sdk-go/internal/context/background_go1.5.go
generated
vendored
Normal file
40
vendor/github.com/aws/aws-sdk-go/internal/context/background_go1.5.go
generated
vendored
Normal file
@ -0,0 +1,40 @@
|
||||
// +build !go1.7
|
||||
|
||||
package context
|
||||
|
||||
import "time"
|
||||
|
||||
// An emptyCtx is a copy of the Go 1.7 context.emptyCtx type. This is copied to
|
||||
// provide a 1.6 and 1.5 safe version of context that is compatible with Go
|
||||
// 1.7's Context.
|
||||
//
|
||||
// An emptyCtx is never canceled, has no values, and has no deadline. It is not
|
||||
// struct{}, since vars of this type must have distinct addresses.
|
||||
type emptyCtx int
|
||||
|
||||
func (*emptyCtx) Deadline() (deadline time.Time, ok bool) {
|
||||
return
|
||||
}
|
||||
|
||||
func (*emptyCtx) Done() <-chan struct{} {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (*emptyCtx) Err() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (*emptyCtx) Value(key interface{}) interface{} {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (e *emptyCtx) String() string {
|
||||
switch e {
|
||||
case BackgroundCtx:
|
||||
return "aws.BackgroundContext"
|
||||
}
|
||||
return "unknown empty Context"
|
||||
}
|
||||
|
||||
// BackgroundCtx is the common base context.
|
||||
var BackgroundCtx = new(emptyCtx)
|
23
vendor/github.com/aws/aws-sdk-go/internal/sync/singleflight/BUILD
generated
vendored
Normal file
23
vendor/github.com/aws/aws-sdk-go/internal/sync/singleflight/BUILD
generated
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = ["singleflight.go"],
|
||||
importmap = "k8s.io/kubernetes/vendor/github.com/aws/aws-sdk-go/internal/sync/singleflight",
|
||||
importpath = "github.com/aws/aws-sdk-go/internal/sync/singleflight",
|
||||
visibility = ["//vendor/github.com/aws/aws-sdk-go:__subpackages__"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "package-srcs",
|
||||
srcs = glob(["**"]),
|
||||
tags = ["automanaged"],
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all-srcs",
|
||||
srcs = [":package-srcs"],
|
||||
tags = ["automanaged"],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
27
vendor/github.com/aws/aws-sdk-go/internal/sync/singleflight/LICENSE
generated
vendored
Normal file
27
vendor/github.com/aws/aws-sdk-go/internal/sync/singleflight/LICENSE
generated
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
Copyright (c) 2009 The Go Authors. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the following disclaimer
|
||||
in the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
* Neither the name of Google Inc. nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
120
vendor/github.com/aws/aws-sdk-go/internal/sync/singleflight/singleflight.go
generated
vendored
Normal file
120
vendor/github.com/aws/aws-sdk-go/internal/sync/singleflight/singleflight.go
generated
vendored
Normal file
@ -0,0 +1,120 @@
|
||||
// Copyright 2013 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// Package singleflight provides a duplicate function call suppression
|
||||
// mechanism.
|
||||
package singleflight
|
||||
|
||||
import "sync"
|
||||
|
||||
// call is an in-flight or completed singleflight.Do call
|
||||
type call struct {
|
||||
wg sync.WaitGroup
|
||||
|
||||
// These fields are written once before the WaitGroup is done
|
||||
// and are only read after the WaitGroup is done.
|
||||
val interface{}
|
||||
err error
|
||||
|
||||
// forgotten indicates whether Forget was called with this call's key
|
||||
// while the call was still in flight.
|
||||
forgotten bool
|
||||
|
||||
// These fields are read and written with the singleflight
|
||||
// mutex held before the WaitGroup is done, and are read but
|
||||
// not written after the WaitGroup is done.
|
||||
dups int
|
||||
chans []chan<- Result
|
||||
}
|
||||
|
||||
// Group represents a class of work and forms a namespace in
|
||||
// which units of work can be executed with duplicate suppression.
|
||||
type Group struct {
|
||||
mu sync.Mutex // protects m
|
||||
m map[string]*call // lazily initialized
|
||||
}
|
||||
|
||||
// Result holds the results of Do, so they can be passed
|
||||
// on a channel.
|
||||
type Result struct {
|
||||
Val interface{}
|
||||
Err error
|
||||
Shared bool
|
||||
}
|
||||
|
||||
// Do executes and returns the results of the given function, making
|
||||
// sure that only one execution is in-flight for a given key at a
|
||||
// time. If a duplicate comes in, the duplicate caller waits for the
|
||||
// original to complete and receives the same results.
|
||||
// The return value shared indicates whether v was given to multiple callers.
|
||||
func (g *Group) Do(key string, fn func() (interface{}, error)) (v interface{}, err error, shared bool) {
|
||||
g.mu.Lock()
|
||||
if g.m == nil {
|
||||
g.m = make(map[string]*call)
|
||||
}
|
||||
if c, ok := g.m[key]; ok {
|
||||
c.dups++
|
||||
g.mu.Unlock()
|
||||
c.wg.Wait()
|
||||
return c.val, c.err, true
|
||||
}
|
||||
c := new(call)
|
||||
c.wg.Add(1)
|
||||
g.m[key] = c
|
||||
g.mu.Unlock()
|
||||
|
||||
g.doCall(c, key, fn)
|
||||
return c.val, c.err, c.dups > 0
|
||||
}
|
||||
|
||||
// DoChan is like Do but returns a channel that will receive the
|
||||
// results when they are ready.
|
||||
func (g *Group) DoChan(key string, fn func() (interface{}, error)) <-chan Result {
|
||||
ch := make(chan Result, 1)
|
||||
g.mu.Lock()
|
||||
if g.m == nil {
|
||||
g.m = make(map[string]*call)
|
||||
}
|
||||
if c, ok := g.m[key]; ok {
|
||||
c.dups++
|
||||
c.chans = append(c.chans, ch)
|
||||
g.mu.Unlock()
|
||||
return ch
|
||||
}
|
||||
c := &call{chans: []chan<- Result{ch}}
|
||||
c.wg.Add(1)
|
||||
g.m[key] = c
|
||||
g.mu.Unlock()
|
||||
|
||||
go g.doCall(c, key, fn)
|
||||
|
||||
return ch
|
||||
}
|
||||
|
||||
// doCall handles the single call for a key.
|
||||
func (g *Group) doCall(c *call, key string, fn func() (interface{}, error)) {
|
||||
c.val, c.err = fn()
|
||||
c.wg.Done()
|
||||
|
||||
g.mu.Lock()
|
||||
if !c.forgotten {
|
||||
delete(g.m, key)
|
||||
}
|
||||
for _, ch := range c.chans {
|
||||
ch <- Result{c.val, c.err, c.dups > 0}
|
||||
}
|
||||
g.mu.Unlock()
|
||||
}
|
||||
|
||||
// Forget tells the singleflight to forget about a key. Future calls
|
||||
// to Do for this key will call the function rather than waiting for
|
||||
// an earlier call to complete.
|
||||
func (g *Group) Forget(key string) {
|
||||
g.mu.Lock()
|
||||
if c, ok := g.m[key]; ok {
|
||||
c.forgotten = true
|
||||
}
|
||||
delete(g.m, key)
|
||||
g.mu.Unlock()
|
||||
}
|
2
vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/build.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/build.go
generated
vendored
@ -1,7 +1,7 @@
|
||||
// Package ec2query provides serialization of AWS EC2 requests and responses.
|
||||
package ec2query
|
||||
|
||||
//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/ec2.json build_test.go
|
||||
//go:generate go run -tags codegen ../../../private/model/cli/gen-protocol-tests ../../../models/protocol_tests/input/ec2.json build_test.go
|
||||
|
||||
import (
|
||||
"net/url"
|
||||
|
2
vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/unmarshal.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/unmarshal.go
generated
vendored
@ -1,6 +1,6 @@
|
||||
package ec2query
|
||||
|
||||
//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/ec2.json unmarshal_test.go
|
||||
//go:generate go run -tags codegen ../../../private/model/cli/gen-protocol-tests ../../../models/protocol_tests/output/ec2.json unmarshal_test.go
|
||||
|
||||
import (
|
||||
"encoding/xml"
|
||||
|
94
vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/unmarshal.go
generated
vendored
94
vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/unmarshal.go
generated
vendored
@ -6,7 +6,9 @@ import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"math/big"
|
||||
"reflect"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
@ -14,6 +16,8 @@ import (
|
||||
"github.com/aws/aws-sdk-go/private/protocol"
|
||||
)
|
||||
|
||||
var millisecondsFloat = new(big.Float).SetInt64(1e3)
|
||||
|
||||
// UnmarshalJSONError unmarshal's the reader's JSON document into the passed in
|
||||
// type. The value to unmarshal the json document into must be a pointer to the
|
||||
// type.
|
||||
@ -38,17 +42,42 @@ func UnmarshalJSONError(v interface{}, stream io.Reader) error {
|
||||
func UnmarshalJSON(v interface{}, stream io.Reader) error {
|
||||
var out interface{}
|
||||
|
||||
err := json.NewDecoder(stream).Decode(&out)
|
||||
decoder := json.NewDecoder(stream)
|
||||
decoder.UseNumber()
|
||||
err := decoder.Decode(&out)
|
||||
if err == io.EOF {
|
||||
return nil
|
||||
} else if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return unmarshalAny(reflect.ValueOf(v), out, "")
|
||||
return unmarshaler{}.unmarshalAny(reflect.ValueOf(v), out, "")
|
||||
}
|
||||
|
||||
func unmarshalAny(value reflect.Value, data interface{}, tag reflect.StructTag) error {
|
||||
// UnmarshalJSONCaseInsensitive reads a stream and unmarshals the result into the
|
||||
// object v. Ignores casing for structure members.
|
||||
func UnmarshalJSONCaseInsensitive(v interface{}, stream io.Reader) error {
|
||||
var out interface{}
|
||||
|
||||
decoder := json.NewDecoder(stream)
|
||||
decoder.UseNumber()
|
||||
err := decoder.Decode(&out)
|
||||
if err == io.EOF {
|
||||
return nil
|
||||
} else if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return unmarshaler{
|
||||
caseInsensitive: true,
|
||||
}.unmarshalAny(reflect.ValueOf(v), out, "")
|
||||
}
|
||||
|
||||
type unmarshaler struct {
|
||||
caseInsensitive bool
|
||||
}
|
||||
|
||||
func (u unmarshaler) unmarshalAny(value reflect.Value, data interface{}, tag reflect.StructTag) error {
|
||||
vtype := value.Type()
|
||||
if vtype.Kind() == reflect.Ptr {
|
||||
vtype = vtype.Elem() // check kind of actual element type
|
||||
@ -80,17 +109,17 @@ func unmarshalAny(value reflect.Value, data interface{}, tag reflect.StructTag)
|
||||
if field, ok := vtype.FieldByName("_"); ok {
|
||||
tag = field.Tag
|
||||
}
|
||||
return unmarshalStruct(value, data, tag)
|
||||
return u.unmarshalStruct(value, data, tag)
|
||||
case "list":
|
||||
return unmarshalList(value, data, tag)
|
||||
return u.unmarshalList(value, data, tag)
|
||||
case "map":
|
||||
return unmarshalMap(value, data, tag)
|
||||
return u.unmarshalMap(value, data, tag)
|
||||
default:
|
||||
return unmarshalScalar(value, data, tag)
|
||||
return u.unmarshalScalar(value, data, tag)
|
||||
}
|
||||
}
|
||||
|
||||
func unmarshalStruct(value reflect.Value, data interface{}, tag reflect.StructTag) error {
|
||||
func (u unmarshaler) unmarshalStruct(value reflect.Value, data interface{}, tag reflect.StructTag) error {
|
||||
if data == nil {
|
||||
return nil
|
||||
}
|
||||
@ -114,7 +143,7 @@ func unmarshalStruct(value reflect.Value, data interface{}, tag reflect.StructTa
|
||||
// unwrap any payloads
|
||||
if payload := tag.Get("payload"); payload != "" {
|
||||
field, _ := t.FieldByName(payload)
|
||||
return unmarshalAny(value.FieldByName(payload), data, field.Tag)
|
||||
return u.unmarshalAny(value.FieldByName(payload), data, field.Tag)
|
||||
}
|
||||
|
||||
for i := 0; i < t.NumField(); i++ {
|
||||
@ -128,9 +157,19 @@ func unmarshalStruct(value reflect.Value, data interface{}, tag reflect.StructTa
|
||||
if locName := field.Tag.Get("locationName"); locName != "" {
|
||||
name = locName
|
||||
}
|
||||
if u.caseInsensitive {
|
||||
if _, ok := mapData[name]; !ok {
|
||||
// Fallback to uncased name search if the exact name didn't match.
|
||||
for kn, v := range mapData {
|
||||
if strings.EqualFold(kn, name) {
|
||||
mapData[name] = v
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
member := value.FieldByIndex(field.Index)
|
||||
err := unmarshalAny(member, mapData[name], field.Tag)
|
||||
err := u.unmarshalAny(member, mapData[name], field.Tag)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -138,7 +177,7 @@ func unmarshalStruct(value reflect.Value, data interface{}, tag reflect.StructTa
|
||||
return nil
|
||||
}
|
||||
|
||||
func unmarshalList(value reflect.Value, data interface{}, tag reflect.StructTag) error {
|
||||
func (u unmarshaler) unmarshalList(value reflect.Value, data interface{}, tag reflect.StructTag) error {
|
||||
if data == nil {
|
||||
return nil
|
||||
}
|
||||
@ -153,7 +192,7 @@ func unmarshalList(value reflect.Value, data interface{}, tag reflect.StructTag)
|
||||
}
|
||||
|
||||
for i, c := range listData {
|
||||
err := unmarshalAny(value.Index(i), c, "")
|
||||
err := u.unmarshalAny(value.Index(i), c, "")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -162,7 +201,7 @@ func unmarshalList(value reflect.Value, data interface{}, tag reflect.StructTag)
|
||||
return nil
|
||||
}
|
||||
|
||||
func unmarshalMap(value reflect.Value, data interface{}, tag reflect.StructTag) error {
|
||||
func (u unmarshaler) unmarshalMap(value reflect.Value, data interface{}, tag reflect.StructTag) error {
|
||||
if data == nil {
|
||||
return nil
|
||||
}
|
||||
@ -179,14 +218,14 @@ func unmarshalMap(value reflect.Value, data interface{}, tag reflect.StructTag)
|
||||
kvalue := reflect.ValueOf(k)
|
||||
vvalue := reflect.New(value.Type().Elem()).Elem()
|
||||
|
||||
unmarshalAny(vvalue, v, "")
|
||||
u.unmarshalAny(vvalue, v, "")
|
||||
value.SetMapIndex(kvalue, vvalue)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func unmarshalScalar(value reflect.Value, data interface{}, tag reflect.StructTag) error {
|
||||
func (u unmarshaler) unmarshalScalar(value reflect.Value, data interface{}, tag reflect.StructTag) error {
|
||||
|
||||
switch d := data.(type) {
|
||||
case nil:
|
||||
@ -222,16 +261,31 @@ func unmarshalScalar(value reflect.Value, data interface{}, tag reflect.StructTa
|
||||
default:
|
||||
return fmt.Errorf("unsupported value: %v (%s)", value.Interface(), value.Type())
|
||||
}
|
||||
case float64:
|
||||
case json.Number:
|
||||
switch value.Interface().(type) {
|
||||
case *int64:
|
||||
di := int64(d)
|
||||
// Retain the old behavior where we would just truncate the float64
|
||||
// calling d.Int64() here could cause an invalid syntax error due to the usage of strconv.ParseInt
|
||||
f, err := d.Float64()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
di := int64(f)
|
||||
value.Set(reflect.ValueOf(&di))
|
||||
case *float64:
|
||||
value.Set(reflect.ValueOf(&d))
|
||||
f, err := d.Float64()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
value.Set(reflect.ValueOf(&f))
|
||||
case *time.Time:
|
||||
// Time unmarshaled from a float64 can only be epoch seconds
|
||||
t := time.Unix(int64(d), 0).UTC()
|
||||
float, ok := new(big.Float).SetString(d.String())
|
||||
if !ok {
|
||||
return fmt.Errorf("unsupported float time representation: %v", d.String())
|
||||
}
|
||||
float = float.Mul(float, millisecondsFloat)
|
||||
ms, _ := float.Int64()
|
||||
t := time.Unix(0, ms*1e6).UTC()
|
||||
value.Set(reflect.ValueOf(&t))
|
||||
default:
|
||||
return fmt.Errorf("unsupported value: %v (%s)", value.Interface(), value.Type())
|
||||
|
4
vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/jsonrpc.go
generated
vendored
4
vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/jsonrpc.go
generated
vendored
@ -2,8 +2,8 @@
|
||||
// requests and responses.
|
||||
package jsonrpc
|
||||
|
||||
//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/json.json build_test.go
|
||||
//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/json.json unmarshal_test.go
|
||||
//go:generate go run -tags codegen ../../../private/model/cli/gen-protocol-tests ../../../models/protocol_tests/input/json.json build_test.go
|
||||
//go:generate go run -tags codegen ../../../private/model/cli/gen-protocol-tests ../../../models/protocol_tests/output/json.json unmarshal_test.go
|
||||
|
||||
import (
|
||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||
|
2
vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/unmarshal_error.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/unmarshal_error.go
generated
vendored
@ -54,7 +54,7 @@ func (u *UnmarshalTypedError) UnmarshalError(
|
||||
// If exception code is know, use associated constructor to get a value
|
||||
// for the exception that the JSON body can be unmarshaled into.
|
||||
v := fn(respMeta)
|
||||
err := jsonutil.UnmarshalJSON(v, body)
|
||||
err := jsonutil.UnmarshalJSONCaseInsensitive(v, body)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
2
vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go
generated
vendored
@ -1,7 +1,7 @@
|
||||
// Package query provides serialization of AWS query requests, and responses.
|
||||
package query
|
||||
|
||||
//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/query.json build_test.go
|
||||
//go:generate go run -tags codegen ../../../private/model/cli/gen-protocol-tests ../../../models/protocol_tests/input/query.json build_test.go
|
||||
|
||||
import (
|
||||
"net/url"
|
||||
|
2
vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.go
generated
vendored
@ -1,6 +1,6 @@
|
||||
package query
|
||||
|
||||
//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/query.json unmarshal_test.go
|
||||
//go:generate go run -tags codegen ../../../private/model/cli/gen-protocol-tests ../../../models/protocol_tests/output/query.json unmarshal_test.go
|
||||
|
||||
import (
|
||||
"encoding/xml"
|
||||
|
9
vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go
generated
vendored
9
vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go
generated
vendored
@ -27,8 +27,8 @@ const (
|
||||
// RFC3339 a subset of the ISO8601 timestamp format. e.g 2014-04-29T18:30:38Z
|
||||
ISO8601TimeFormat = "2006-01-02T15:04:05.999999999Z"
|
||||
|
||||
// This format is used for output time without seconds precision
|
||||
ISO8601OutputTimeFormat = "2006-01-02T15:04:05Z"
|
||||
// This format is used for output time with fractional second precision up to milliseconds
|
||||
ISO8601OutputTimeFormat = "2006-01-02T15:04:05.999999999Z"
|
||||
)
|
||||
|
||||
// IsKnownTimestampFormat returns if the timestamp format name
|
||||
@ -48,7 +48,7 @@ func IsKnownTimestampFormat(name string) bool {
|
||||
|
||||
// FormatTime returns a string value of the time.
|
||||
func FormatTime(name string, t time.Time) string {
|
||||
t = t.UTC()
|
||||
t = t.UTC().Truncate(time.Millisecond)
|
||||
|
||||
switch name {
|
||||
case RFC822TimeFormatName:
|
||||
@ -56,7 +56,8 @@ func FormatTime(name string, t time.Time) string {
|
||||
case ISO8601TimeFormatName:
|
||||
return t.Format(ISO8601OutputTimeFormat)
|
||||
case UnixTimeFormatName:
|
||||
return strconv.FormatInt(t.Unix(), 10)
|
||||
ms := t.UnixNano() / int64(time.Millisecond)
|
||||
return strconv.FormatFloat(float64(ms)/1e3, 'f', -1, 64)
|
||||
default:
|
||||
panic("unknown timestamp format name, " + name)
|
||||
}
|
||||
|
9
vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go
generated
vendored
9
vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go
generated
vendored
@ -8,6 +8,7 @@ import (
|
||||
"reflect"
|
||||
"sort"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/aws/aws-sdk-go/private/protocol"
|
||||
@ -60,6 +61,14 @@ func (b *xmlBuilder) buildValue(value reflect.Value, current *XMLNode, tag refle
|
||||
return nil
|
||||
}
|
||||
|
||||
xml := tag.Get("xml")
|
||||
if len(xml) != 0 {
|
||||
name := strings.SplitAfterN(xml, ",", 2)[0]
|
||||
if name == "-" {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
t := tag.Get("type")
|
||||
if t == "" {
|
||||
switch value.Kind() {
|
||||
|
8
vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go
generated
vendored
8
vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go
generated
vendored
@ -64,6 +64,14 @@ func UnmarshalXML(v interface{}, d *xml.Decoder, wrapper string) error {
|
||||
// parse deserializes any value from the XMLNode. The type tag is used to infer the type, or reflect
|
||||
// will be used to determine the type from r.
|
||||
func parse(r reflect.Value, node *XMLNode, tag reflect.StructTag) error {
|
||||
xml := tag.Get("xml")
|
||||
if len(xml) != 0 {
|
||||
name := strings.SplitAfterN(xml, ",", 2)[0]
|
||||
if name == "-" {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
rtype := r.Type()
|
||||
if rtype.Kind() == reflect.Ptr {
|
||||
rtype = rtype.Elem() // check kind of actual element type
|
||||
|
1659
vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go
generated
vendored
1659
vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go
generated
vendored
File diff suppressed because it is too large
Load Diff
17
vendor/github.com/aws/aws-sdk-go/service/autoscaling/errors.go
generated
vendored
17
vendor/github.com/aws/aws-sdk-go/service/autoscaling/errors.go
generated
vendored
@ -4,6 +4,13 @@ package autoscaling
|
||||
|
||||
const (
|
||||
|
||||
// ErrCodeActiveInstanceRefreshNotFoundFault for service response error code
|
||||
// "ActiveInstanceRefreshNotFound".
|
||||
//
|
||||
// The request failed because an active instance refresh for the specified Auto
|
||||
// Scaling group was not found.
|
||||
ErrCodeActiveInstanceRefreshNotFoundFault = "ActiveInstanceRefreshNotFound"
|
||||
|
||||
// ErrCodeAlreadyExistsFault for service response error code
|
||||
// "AlreadyExists".
|
||||
//
|
||||
@ -11,6 +18,13 @@ const (
|
||||
// name.
|
||||
ErrCodeAlreadyExistsFault = "AlreadyExists"
|
||||
|
||||
// ErrCodeInstanceRefreshInProgressFault for service response error code
|
||||
// "InstanceRefreshInProgress".
|
||||
//
|
||||
// The request failed because an active instance refresh operation already exists
|
||||
// for the specified Auto Scaling group.
|
||||
ErrCodeInstanceRefreshInProgressFault = "InstanceRefreshInProgress"
|
||||
|
||||
// ErrCodeInvalidNextToken for service response error code
|
||||
// "InvalidNextToken".
|
||||
//
|
||||
@ -22,7 +36,8 @@ const (
|
||||
//
|
||||
// You have already reached a limit for your Amazon EC2 Auto Scaling resources
|
||||
// (for example, Auto Scaling groups, launch configurations, or lifecycle hooks).
|
||||
// For more information, see DescribeAccountLimits.
|
||||
// For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html)
|
||||
// in the Amazon EC2 Auto Scaling API Reference.
|
||||
ErrCodeLimitExceededFault = "LimitExceeded"
|
||||
|
||||
// ErrCodeResourceContentionFault for service response error code
|
||||
|
11893
vendor/github.com/aws/aws-sdk-go/service/ec2/api.go
generated
vendored
11893
vendor/github.com/aws/aws-sdk-go/service/ec2/api.go
generated
vendored
File diff suppressed because it is too large
Load Diff
6
vendor/github.com/aws/aws-sdk-go/service/ec2/customizations.go
generated
vendored
6
vendor/github.com/aws/aws-sdk-go/service/ec2/customizations.go
generated
vendored
@ -26,8 +26,12 @@ func init() {
|
||||
|
||||
// only set the retryer on request if config doesn't have a retryer
|
||||
if r.Config.Retryer == nil && (r.Operation.Name == opModifyNetworkInterfaceAttribute || r.Operation.Name == opAssignPrivateIpAddresses) {
|
||||
maxRetries := client.DefaultRetryerMaxNumRetries
|
||||
if m := r.Config.MaxRetries; m != nil && *m != aws.UseServiceDefaultRetries {
|
||||
maxRetries = *m
|
||||
}
|
||||
r.Retryer = client.DefaultRetryer{
|
||||
NumMaxRetries: client.DefaultRetryerMaxNumRetries,
|
||||
NumMaxRetries: maxRetries,
|
||||
MinRetryDelay: customRetryerMinRetryDelay,
|
||||
MinThrottleDelay: customRetryerMinRetryDelay,
|
||||
MaxRetryDelay: customRetryerMaxRetryDelay,
|
||||
|
1248
vendor/github.com/aws/aws-sdk-go/service/ecr/api.go
generated
vendored
1248
vendor/github.com/aws/aws-sdk-go/service/ecr/api.go
generated
vendored
File diff suppressed because it is too large
Load Diff
11
vendor/github.com/aws/aws-sdk-go/service/ecr/doc.go
generated
vendored
11
vendor/github.com/aws/aws-sdk-go/service/ecr/doc.go
generated
vendored
@ -3,12 +3,13 @@
|
||||
// Package ecr provides the client and types for making API
|
||||
// requests to Amazon EC2 Container Registry.
|
||||
//
|
||||
// Amazon Elastic Container Registry (Amazon ECR) is a managed Docker registry
|
||||
// service. Customers can use the familiar Docker CLI to push, pull, and manage
|
||||
// images. Amazon ECR provides a secure, scalable, and reliable registry. Amazon
|
||||
// ECR supports private Docker repositories with resource-based permissions
|
||||
// Amazon Elastic Container Registry (Amazon ECR) is a managed container image
|
||||
// registry service. Customers can use the familiar Docker CLI, or their preferred
|
||||
// client, to push, pull, and manage images. Amazon ECR provides a secure, scalable,
|
||||
// and reliable registry for your Docker or Open Container Initiative (OCI)
|
||||
// images. Amazon ECR supports private repositories with resource-based permissions
|
||||
// using IAM so that specific users or Amazon EC2 instances can access repositories
|
||||
// and images. Developers can use the Docker CLI to author and manage images.
|
||||
// and images.
|
||||
//
|
||||
// See https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21 for more information on this service.
|
||||
//
|
||||
|
38
vendor/github.com/aws/aws-sdk-go/service/ecr/errors.go
generated
vendored
38
vendor/github.com/aws/aws-sdk-go/service/ecr/errors.go
generated
vendored
@ -21,6 +21,13 @@ const (
|
||||
// the manifest or image tag after the last push.
|
||||
ErrCodeImageAlreadyExistsException = "ImageAlreadyExistsException"
|
||||
|
||||
// ErrCodeImageDigestDoesNotMatchException for service response error code
|
||||
// "ImageDigestDoesNotMatchException".
|
||||
//
|
||||
// The specified image digest does not match the digest that Amazon ECR calculated
|
||||
// for the image.
|
||||
ErrCodeImageDigestDoesNotMatchException = "ImageDigestDoesNotMatchException"
|
||||
|
||||
// ErrCodeImageNotFoundException for service response error code
|
||||
// "ImageNotFoundException".
|
||||
//
|
||||
@ -63,6 +70,12 @@ const (
|
||||
// characters.
|
||||
ErrCodeInvalidTagParameterException = "InvalidTagParameterException"
|
||||
|
||||
// ErrCodeKmsException for service response error code
|
||||
// "KmsException".
|
||||
//
|
||||
// The operation failed due to a KMS exception.
|
||||
ErrCodeKmsException = "KmsException"
|
||||
|
||||
// ErrCodeLayerAlreadyExistsException for service response error code
|
||||
// "LayerAlreadyExistsException".
|
||||
//
|
||||
@ -98,8 +111,8 @@ const (
|
||||
// ErrCodeLifecyclePolicyPreviewInProgressException for service response error code
|
||||
// "LifecyclePolicyPreviewInProgressException".
|
||||
//
|
||||
// The previous lifecycle policy preview request has not completed. Please try
|
||||
// again later.
|
||||
// The previous lifecycle policy preview request has not completed. Wait and
|
||||
// try again.
|
||||
ErrCodeLifecyclePolicyPreviewInProgressException = "LifecyclePolicyPreviewInProgressException"
|
||||
|
||||
// ErrCodeLifecyclePolicyPreviewNotFoundException for service response error code
|
||||
@ -112,11 +125,16 @@ const (
|
||||
// "LimitExceededException".
|
||||
//
|
||||
// The operation did not succeed because it would have exceeded a service limit
|
||||
// for your account. For more information, see Amazon ECR Default Service Limits
|
||||
// (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service_limits.html)
|
||||
// for your account. For more information, see Amazon ECR Service Quotas (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service-quotas.html)
|
||||
// in the Amazon Elastic Container Registry User Guide.
|
||||
ErrCodeLimitExceededException = "LimitExceededException"
|
||||
|
||||
// ErrCodeReferencedImagesNotFoundException for service response error code
|
||||
// "ReferencedImagesNotFoundException".
|
||||
//
|
||||
// The manifest list is referencing an image that does not exist.
|
||||
ErrCodeReferencedImagesNotFoundException = "ReferencedImagesNotFoundException"
|
||||
|
||||
// ErrCodeRepositoryAlreadyExistsException for service response error code
|
||||
// "RepositoryAlreadyExistsException".
|
||||
//
|
||||
@ -164,10 +182,16 @@ const (
|
||||
// of tags that can be applied to a repository is 50.
|
||||
ErrCodeTooManyTagsException = "TooManyTagsException"
|
||||
|
||||
// ErrCodeUnsupportedImageTypeException for service response error code
|
||||
// "UnsupportedImageTypeException".
|
||||
//
|
||||
// The image is of a type that cannot be scanned.
|
||||
ErrCodeUnsupportedImageTypeException = "UnsupportedImageTypeException"
|
||||
|
||||
// ErrCodeUploadNotFoundException for service response error code
|
||||
// "UploadNotFoundException".
|
||||
//
|
||||
// The upload could not be found, or the specified upload id is not valid for
|
||||
// The upload could not be found, or the specified upload ID is not valid for
|
||||
// this repository.
|
||||
ErrCodeUploadNotFoundException = "UploadNotFoundException"
|
||||
)
|
||||
@ -175,12 +199,14 @@ const (
|
||||
var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{
|
||||
"EmptyUploadException": newErrorEmptyUploadException,
|
||||
"ImageAlreadyExistsException": newErrorImageAlreadyExistsException,
|
||||
"ImageDigestDoesNotMatchException": newErrorImageDigestDoesNotMatchException,
|
||||
"ImageNotFoundException": newErrorImageNotFoundException,
|
||||
"ImageTagAlreadyExistsException": newErrorImageTagAlreadyExistsException,
|
||||
"InvalidLayerException": newErrorInvalidLayerException,
|
||||
"InvalidLayerPartException": newErrorInvalidLayerPartException,
|
||||
"InvalidParameterException": newErrorInvalidParameterException,
|
||||
"InvalidTagParameterException": newErrorInvalidTagParameterException,
|
||||
"KmsException": newErrorKmsException,
|
||||
"LayerAlreadyExistsException": newErrorLayerAlreadyExistsException,
|
||||
"LayerInaccessibleException": newErrorLayerInaccessibleException,
|
||||
"LayerPartTooSmallException": newErrorLayerPartTooSmallException,
|
||||
@ -189,6 +215,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{
|
||||
"LifecyclePolicyPreviewInProgressException": newErrorLifecyclePolicyPreviewInProgressException,
|
||||
"LifecyclePolicyPreviewNotFoundException": newErrorLifecyclePolicyPreviewNotFoundException,
|
||||
"LimitExceededException": newErrorLimitExceededException,
|
||||
"ReferencedImagesNotFoundException": newErrorReferencedImagesNotFoundException,
|
||||
"RepositoryAlreadyExistsException": newErrorRepositoryAlreadyExistsException,
|
||||
"RepositoryNotEmptyException": newErrorRepositoryNotEmptyException,
|
||||
"RepositoryNotFoundException": newErrorRepositoryNotFoundException,
|
||||
@ -196,5 +223,6 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{
|
||||
"ScanNotFoundException": newErrorScanNotFoundException,
|
||||
"ServerException": newErrorServerException,
|
||||
"TooManyTagsException": newErrorTooManyTagsException,
|
||||
"UnsupportedImageTypeException": newErrorUnsupportedImageTypeException,
|
||||
"UploadNotFoundException": newErrorUploadNotFoundException,
|
||||
}
|
||||
|
83
vendor/github.com/aws/aws-sdk-go/service/elb/api.go
generated
vendored
83
vendor/github.com/aws/aws-sdk-go/service/elb/api.go
generated
vendored
@ -64,7 +64,7 @@ func (c *ELB) AddTagsRequest(input *AddTagsInput) (req *request.Request, output
|
||||
// Each tag consists of a key and an optional value. If a tag with the same
|
||||
// key is already associated with the load balancer, AddTags updates its value.
|
||||
//
|
||||
// For more information, see Tag Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html)
|
||||
// For more information, see Tag Your Classic Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html)
|
||||
// in the Classic Load Balancers Guide.
|
||||
//
|
||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||||
@ -155,7 +155,7 @@ func (c *ELB) ApplySecurityGroupsToLoadBalancerRequest(input *ApplySecurityGroup
|
||||
// private cloud (VPC). The specified security groups override the previously
|
||||
// associated security groups.
|
||||
//
|
||||
// For more information, see Security Groups for Load Balancers in a VPC (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-security-groups.html#elb-vpc-security-groups)
|
||||
// For more information, see Security Groups for Load Balancers in a VPC (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-security-groups.html#elb-vpc-security-groups)
|
||||
// in the Classic Load Balancers Guide.
|
||||
//
|
||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||||
@ -246,7 +246,7 @@ func (c *ELB) AttachLoadBalancerToSubnetsRequest(input *AttachLoadBalancerToSubn
|
||||
//
|
||||
// The load balancer evenly distributes requests across all registered subnets.
|
||||
// For more information, see Add or Remove Subnets for Your Load Balancer in
|
||||
// a VPC (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-manage-subnets.html)
|
||||
// a VPC (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-manage-subnets.html)
|
||||
// in the Classic Load Balancers Guide.
|
||||
//
|
||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||||
@ -339,7 +339,7 @@ func (c *ELB) ConfigureHealthCheckRequest(input *ConfigureHealthCheckInput) (req
|
||||
// of your EC2 instances.
|
||||
//
|
||||
// For more information, see Configure Health Checks for Your Load Balancer
|
||||
// (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-healthchecks.html)
|
||||
// (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-healthchecks.html)
|
||||
// in the Classic Load Balancers Guide.
|
||||
//
|
||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||||
@ -433,7 +433,7 @@ func (c *ELB) CreateAppCookieStickinessPolicyRequest(input *CreateAppCookieStick
|
||||
// If the application cookie is explicitly removed or expires, the session stops
|
||||
// being sticky until a new application cookie is issued.
|
||||
//
|
||||
// For more information, see Application-Controlled Session Stickiness (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-application)
|
||||
// For more information, see Application-Controlled Session Stickiness (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-application)
|
||||
// in the Classic Load Balancers Guide.
|
||||
//
|
||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||||
@ -538,7 +538,7 @@ func (c *ELB) CreateLBCookieStickinessPolicyRequest(input *CreateLBCookieStickin
|
||||
// the same user to that server. The validity of the cookie is based on the
|
||||
// cookie expiration time, which is specified in the policy configuration.
|
||||
//
|
||||
// For more information, see Duration-Based Session Stickiness (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-duration)
|
||||
// For more information, see Duration-Based Session Stickiness (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-duration)
|
||||
// in the Classic Load Balancers Guide.
|
||||
//
|
||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||||
@ -638,7 +638,7 @@ func (c *ELB) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req *re
|
||||
//
|
||||
// You can create up to 20 load balancers per region per account. You can request
|
||||
// an increase for the number of load balancers for your account. For more information,
|
||||
// see Limits for Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-limits.html)
|
||||
// see Limits for Your Classic Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-limits.html)
|
||||
// in the Classic Load Balancers Guide.
|
||||
//
|
||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||||
@ -762,7 +762,7 @@ func (c *ELB) CreateLoadBalancerListenersRequest(input *CreateLoadBalancerListen
|
||||
// the properties of the new listener must match the properties of the existing
|
||||
// listener.
|
||||
//
|
||||
// For more information, see Listeners for Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html)
|
||||
// For more information, see Listeners for Your Classic Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html)
|
||||
// in the Classic Load Balancers Guide.
|
||||
//
|
||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||||
@ -1209,7 +1209,7 @@ func (c *ELB) DeregisterInstancesFromLoadBalancerRequest(input *DeregisterInstan
|
||||
// You can use DescribeLoadBalancers to verify that the instance is deregistered
|
||||
// from the load balancer.
|
||||
//
|
||||
// For more information, see Register or De-Register EC2 Instances (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-deregister-register-instances.html)
|
||||
// For more information, see Register or De-Register EC2 Instances (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-deregister-register-instances.html)
|
||||
// in the Classic Load Balancers Guide.
|
||||
//
|
||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||||
@ -1295,7 +1295,7 @@ func (c *ELB) DescribeAccountLimitsRequest(input *DescribeAccountLimitsInput) (r
|
||||
// Describes the current Elastic Load Balancing resource limits for your AWS
|
||||
// account.
|
||||
//
|
||||
// For more information, see Limits for Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-limits.html)
|
||||
// For more information, see Limits for Your Classic Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-limits.html)
|
||||
// in the Classic Load Balancers Guide.
|
||||
//
|
||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||||
@ -2037,7 +2037,7 @@ func (c *ELB) DisableAvailabilityZonesForLoadBalancerRequest(input *DisableAvail
|
||||
// the OutOfService state. Then, the load balancer attempts to equally balance
|
||||
// the traffic among its remaining Availability Zones.
|
||||
//
|
||||
// For more information, see Add or Remove Availability Zones (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-az.html)
|
||||
// For more information, see Add or Remove Availability Zones (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-az.html)
|
||||
// in the Classic Load Balancers Guide.
|
||||
//
|
||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||||
@ -2127,7 +2127,7 @@ func (c *ELB) EnableAvailabilityZonesForLoadBalancerRequest(input *EnableAvailab
|
||||
//
|
||||
// The load balancer evenly distributes requests across all its registered Availability
|
||||
// Zones that contain instances. For more information, see Add or Remove Availability
|
||||
// Zones (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-az.html)
|
||||
// Zones (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-az.html)
|
||||
// in the Classic Load Balancers Guide.
|
||||
//
|
||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||||
@ -2216,13 +2216,13 @@ func (c *ELB) ModifyLoadBalancerAttributesRequest(input *ModifyLoadBalancerAttri
|
||||
//
|
||||
// For more information, see the following in the Classic Load Balancers Guide:
|
||||
//
|
||||
// * Cross-Zone Load Balancing (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-crosszone-lb.html)
|
||||
// * Cross-Zone Load Balancing (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-crosszone-lb.html)
|
||||
//
|
||||
// * Connection Draining (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-conn-drain.html)
|
||||
// * Connection Draining (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-conn-drain.html)
|
||||
//
|
||||
// * Access Logs (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/access-log-collection.html)
|
||||
// * Access Logs (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/access-log-collection.html)
|
||||
//
|
||||
// * Idle Connection Timeout (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html)
|
||||
// * Idle Connection Timeout (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html)
|
||||
//
|
||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||||
// with awserr.Error's Code and Message methods to get detailed information about
|
||||
@ -2328,7 +2328,7 @@ func (c *ELB) RegisterInstancesWithLoadBalancerRequest(input *RegisterInstancesW
|
||||
//
|
||||
// To deregister instances from a load balancer, use DeregisterInstancesFromLoadBalancer.
|
||||
//
|
||||
// For more information, see Register or De-Register EC2 Instances (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-deregister-register-instances.html)
|
||||
// For more information, see Register or De-Register EC2 Instances (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-deregister-register-instances.html)
|
||||
// in the Classic Load Balancers Guide.
|
||||
//
|
||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||||
@ -2497,7 +2497,7 @@ func (c *ELB) SetLoadBalancerListenerSSLCertificateRequest(input *SetLoadBalance
|
||||
// the same load balancer and port.
|
||||
//
|
||||
// For more information about updating your SSL certificate, see Replace the
|
||||
// SSL Certificate for Your Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-update-ssl-cert.html)
|
||||
// SSL Certificate for Your Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-update-ssl-cert.html)
|
||||
// in the Classic Load Balancers Guide.
|
||||
//
|
||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||||
@ -2605,9 +2605,9 @@ func (c *ELB) SetLoadBalancerPoliciesForBackendServerRequest(input *SetLoadBalan
|
||||
// that the policy is associated with the EC2 instance.
|
||||
//
|
||||
// For more information about enabling back-end instance authentication, see
|
||||
// Configure Back-end Instance Authentication (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-create-https-ssl-load-balancer.html#configure_backendauth_clt)
|
||||
// Configure Back-end Instance Authentication (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-create-https-ssl-load-balancer.html#configure_backendauth_clt)
|
||||
// in the Classic Load Balancers Guide. For more information about Proxy Protocol,
|
||||
// see Configure Proxy Protocol Support (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-proxy-protocol.html)
|
||||
// see Configure Proxy Protocol Support (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-proxy-protocol.html)
|
||||
// in the Classic Load Balancers Guide.
|
||||
//
|
||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||||
@ -2700,9 +2700,9 @@ func (c *ELB) SetLoadBalancerPoliciesOfListenerRequest(input *SetLoadBalancerPol
|
||||
// To enable back-end server authentication, use SetLoadBalancerPoliciesForBackendServer.
|
||||
//
|
||||
// For more information about setting policies, see Update the SSL Negotiation
|
||||
// Configuration (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/ssl-config-update.html),
|
||||
// Duration-Based Session Stickiness (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-duration),
|
||||
// and Application-Controlled Session Stickiness (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-application)
|
||||
// Configuration (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/ssl-config-update.html),
|
||||
// Duration-Based Session Stickiness (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-duration),
|
||||
// and Application-Controlled Session Stickiness (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-application)
|
||||
// in the Classic Load Balancers Guide.
|
||||
//
|
||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||||
@ -2899,14 +2899,20 @@ func (s AddTagsOutput) GoString() string {
|
||||
return s.String()
|
||||
}
|
||||
|
||||
// This data type is reserved.
|
||||
// Information about additional load balancer attributes.
|
||||
type AdditionalAttribute struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
// This parameter is reserved.
|
||||
// The name of the attribute.
|
||||
//
|
||||
// The following attribute is supported.
|
||||
//
|
||||
// * elb.http.desyncmitigationmode - Determines how the load balancer handles
|
||||
// requests that might pose a security risk to your application. The possible
|
||||
// values are monitor, defensive, and strictest. The default is defensive.
|
||||
Key *string `type:"string"`
|
||||
|
||||
// This parameter is reserved.
|
||||
// This value of the attribute.
|
||||
Value *string `type:"string"`
|
||||
}
|
||||
|
||||
@ -3509,7 +3515,7 @@ type CreateLoadBalancerInput struct {
|
||||
|
||||
// The listeners.
|
||||
//
|
||||
// For more information, see Listeners for Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html)
|
||||
// For more information, see Listeners for Your Classic Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html)
|
||||
// in the Classic Load Balancers Guide.
|
||||
//
|
||||
// Listeners is a required field
|
||||
@ -3529,7 +3535,7 @@ type CreateLoadBalancerInput struct {
|
||||
// By default, Elastic Load Balancing creates an Internet-facing load balancer
|
||||
// with a DNS name that resolves to public IP addresses. For more information
|
||||
// about Internet-facing and Internal load balancers, see Load Balancer Scheme
|
||||
// (http://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#load-balancer-scheme)
|
||||
// (https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#load-balancer-scheme)
|
||||
// in the Elastic Load Balancing User Guide.
|
||||
//
|
||||
// Specify internal to create a load balancer with a DNS name that resolves
|
||||
@ -3546,7 +3552,7 @@ type CreateLoadBalancerInput struct {
|
||||
// A list of tags to assign to the load balancer.
|
||||
//
|
||||
// For more information about tagging your load balancer, see Tag Your Classic
|
||||
// Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html)
|
||||
// Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html)
|
||||
// in the Classic Load Balancers Guide.
|
||||
Tags []*Tag `min:"1" type:"list"`
|
||||
}
|
||||
@ -5166,7 +5172,7 @@ func (s *Limit) SetName(v string) *Limit {
|
||||
// Information about a listener.
|
||||
//
|
||||
// For information about the protocols and the ports supported by Elastic Load
|
||||
// Balancing, see Listeners for Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html)
|
||||
// Balancing, see Listeners for Your Classic Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html)
|
||||
// in the Classic Load Balancers Guide.
|
||||
type Listener struct {
|
||||
_ struct{} `type:"structure"`
|
||||
@ -5179,8 +5185,9 @@ type Listener struct {
|
||||
// The protocol to use for routing traffic to instances: HTTP, HTTPS, TCP, or
|
||||
// SSL.
|
||||
//
|
||||
// If the front-end protocol is HTTP, HTTPS, TCP, or SSL, InstanceProtocol must
|
||||
// be at the same protocol.
|
||||
// If the front-end protocol is TCP or SSL, the back-end protocol must be TCP
|
||||
// or SSL. If the front-end protocol is HTTP or HTTPS, the back-end protocol
|
||||
// must be HTTP or HTTPS.
|
||||
//
|
||||
// If there is another listener with the same InstancePort whose InstanceProtocol
|
||||
// is secure, (HTTPS or SSL), the listener's InstanceProtocol must also be secure.
|
||||
@ -5308,17 +5315,17 @@ type LoadBalancerAttributes struct {
|
||||
// If enabled, the load balancer captures detailed information of all requests
|
||||
// and delivers the information to the Amazon S3 bucket that you specify.
|
||||
//
|
||||
// For more information, see Enable Access Logs (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html)
|
||||
// For more information, see Enable Access Logs (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html)
|
||||
// in the Classic Load Balancers Guide.
|
||||
AccessLog *AccessLog `type:"structure"`
|
||||
|
||||
// This parameter is reserved.
|
||||
// Any additional attributes.
|
||||
AdditionalAttributes []*AdditionalAttribute `type:"list"`
|
||||
|
||||
// If enabled, the load balancer allows existing requests to complete before
|
||||
// the load balancer shifts traffic away from a deregistered or unhealthy instance.
|
||||
//
|
||||
// For more information, see Configure Connection Draining (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-conn-drain.html)
|
||||
// For more information, see Configure Connection Draining (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-conn-drain.html)
|
||||
// in the Classic Load Balancers Guide.
|
||||
ConnectionDraining *ConnectionDraining `type:"structure"`
|
||||
|
||||
@ -5327,14 +5334,14 @@ type LoadBalancerAttributes struct {
|
||||
//
|
||||
// By default, Elastic Load Balancing maintains a 60-second idle connection
|
||||
// timeout for both front-end and back-end connections of your load balancer.
|
||||
// For more information, see Configure Idle Connection Timeout (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html)
|
||||
// For more information, see Configure Idle Connection Timeout (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html)
|
||||
// in the Classic Load Balancers Guide.
|
||||
ConnectionSettings *ConnectionSettings `type:"structure"`
|
||||
|
||||
// If enabled, the load balancer routes the request traffic evenly across all
|
||||
// instances regardless of the Availability Zones.
|
||||
//
|
||||
// For more information, see Configure Cross-Zone Load Balancing (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-crosszone-lb.html)
|
||||
// For more information, see Configure Cross-Zone Load Balancing (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-crosszone-lb.html)
|
||||
// in the Classic Load Balancers Guide.
|
||||
CrossZoneLoadBalancing *CrossZoneLoadBalancing `type:"structure"`
|
||||
}
|
||||
@ -5421,7 +5428,7 @@ type LoadBalancerDescription struct {
|
||||
|
||||
// The DNS name of the load balancer.
|
||||
//
|
||||
// For more information, see Configure a Custom Domain Name (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/using-domain-names-with-elb.html)
|
||||
// For more information, see Configure a Custom Domain Name (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/using-domain-names-with-elb.html)
|
||||
// in the Classic Load Balancers Guide.
|
||||
CanonicalHostedZoneName *string `type:"string"`
|
||||
|
||||
|
2
vendor/github.com/aws/aws-sdk-go/service/elb/doc.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go/service/elb/doc.go
generated
vendored
@ -15,7 +15,7 @@
|
||||
// Elastic Load Balancing supports three types of load balancers: Application
|
||||
// Load Balancers, Network Load Balancers, and Classic Load Balancers. You can
|
||||
// select a load balancer based on your application needs. For more information,
|
||||
// see the Elastic Load Balancing User Guide (http://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/).
|
||||
// see the Elastic Load Balancing User Guide (https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/).
|
||||
//
|
||||
// This reference covers the 2012-06-01 API, which supports Classic Load Balancers.
|
||||
// The 2015-12-01 API supports Application Load Balancers and Network Load Balancers.
|
||||
|
480
vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go
generated
vendored
480
vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go
generated
vendored
@ -155,8 +155,8 @@ func (c *ELBV2) AddTagsRequest(input *AddTagsInput) (req *request.Request, outpu
|
||||
// AddTags API operation for Elastic Load Balancing.
|
||||
//
|
||||
// Adds the specified tags to the specified Elastic Load Balancing resource.
|
||||
// You can tag your Application Load Balancers, Network Load Balancers, and
|
||||
// your target groups.
|
||||
// You can tag your Application Load Balancers, Network Load Balancers, target
|
||||
// groups, listeners, and rules.
|
||||
//
|
||||
// Each tag consists of a key and an optional value. If a resource already has
|
||||
// a tag with the same key, AddTags updates its value.
|
||||
@ -325,6 +325,12 @@ func (c *ELBV2) CreateListenerRequest(input *CreateListenerInput) (req *request.
|
||||
// across all listeners. If a target group is used by multiple actions for a
|
||||
// load balancer, it is counted as only one use.
|
||||
//
|
||||
// * ErrCodeALPNPolicyNotSupportedException "ALPNPolicyNotFound"
|
||||
// The specified ALPN policy is not supported.
|
||||
//
|
||||
// * ErrCodeTooManyTagsException "TooManyTags"
|
||||
// You've reached the limit on the number of tags per load balancer.
|
||||
//
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateListener
|
||||
func (c *ELBV2) CreateListener(input *CreateListenerInput) (*CreateListenerOutput, error) {
|
||||
req, out := c.CreateListenerRequest(input)
|
||||
@ -530,6 +536,7 @@ func (c *ELBV2) CreateRuleRequest(input *CreateRuleInput) (req *request.Request,
|
||||
// Creates a rule for the specified listener. The listener must be associated
|
||||
// with an Application Load Balancer.
|
||||
//
|
||||
// Each rule consists of a priority, one or more actions, and one or more conditions.
|
||||
// Rules are evaluated in priority order, from the lowest value to the highest
|
||||
// value. When the conditions for a rule are met, its actions are performed.
|
||||
// If the conditions for no rules are met, the actions for the default rule
|
||||
@ -593,6 +600,9 @@ func (c *ELBV2) CreateRuleRequest(input *CreateRuleInput) (req *request.Request,
|
||||
// across all listeners. If a target group is used by multiple actions for a
|
||||
// load balancer, it is counted as only one use.
|
||||
//
|
||||
// * ErrCodeTooManyTagsException "TooManyTags"
|
||||
// You've reached the limit on the number of tags per load balancer.
|
||||
//
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateRule
|
||||
func (c *ELBV2) CreateRule(input *CreateRuleInput) (*CreateRuleOutput, error) {
|
||||
req, out := c.CreateRuleRequest(input)
|
||||
@ -697,6 +707,9 @@ func (c *ELBV2) CreateTargetGroupRequest(input *CreateTargetGroupInput) (req *re
|
||||
// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
|
||||
// The requested configuration is not valid.
|
||||
//
|
||||
// * ErrCodeTooManyTagsException "TooManyTags"
|
||||
// You've reached the limit on the number of tags per load balancer.
|
||||
//
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateTargetGroup
|
||||
func (c *ELBV2) CreateTargetGroup(input *CreateTargetGroupInput) (*CreateTargetGroupOutput, error) {
|
||||
req, out := c.CreateTargetGroupRequest(input)
|
||||
@ -944,6 +957,8 @@ func (c *ELBV2) DeleteRuleRequest(input *DeleteRuleInput) (req *request.Request,
|
||||
//
|
||||
// Deletes the specified rule.
|
||||
//
|
||||
// You can't delete the default rule.
|
||||
//
|
||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||||
// with awserr.Error's Code and Message methods to get detailed information about
|
||||
// the error.
|
||||
@ -1901,9 +1916,9 @@ func (c *ELBV2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Requ
|
||||
|
||||
// DescribeTags API operation for Elastic Load Balancing.
|
||||
//
|
||||
// Describes the tags for the specified resources. You can describe the tags
|
||||
// for one or more Application Load Balancers, Network Load Balancers, and target
|
||||
// groups.
|
||||
// Describes the tags for the specified Elastic Load Balancing resources. You
|
||||
// can describe the tags for one or more Application Load Balancers, Network
|
||||
// Load Balancers, target groups, listeners, or rules.
|
||||
//
|
||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||||
// with awserr.Error's Code and Message methods to get detailed information about
|
||||
@ -2378,6 +2393,9 @@ func (c *ELBV2) ModifyListenerRequest(input *ModifyListenerInput) (req *request.
|
||||
// across all listeners. If a target group is used by multiple actions for a
|
||||
// load balancer, it is counted as only one use.
|
||||
//
|
||||
// * ErrCodeALPNPolicyNotSupportedException "ALPNPolicyNotFound"
|
||||
// The specified ALPN policy is not supported.
|
||||
//
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyListener
|
||||
func (c *ELBV2) ModifyListener(input *ModifyListenerInput) (*ModifyListenerOutput, error) {
|
||||
req, out := c.ModifyListenerRequest(input)
|
||||
@ -3013,7 +3031,9 @@ func (c *ELBV2) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request,
|
||||
|
||||
// RemoveTags API operation for Elastic Load Balancing.
|
||||
//
|
||||
// Removes the specified tags from the specified Elastic Load Balancing resource.
|
||||
// Removes the specified tags from the specified Elastic Load Balancing resources.
|
||||
// You can remove the tags for one or more Application Load Balancers, Network
|
||||
// Load Balancers, target groups, listeners, or rules.
|
||||
//
|
||||
// To list the current tags for your resources, use DescribeTags.
|
||||
//
|
||||
@ -3426,6 +3446,9 @@ func (c *ELBV2) SetSubnetsWithContext(ctx aws.Context, input *SetSubnetsInput, o
|
||||
}
|
||||
|
||||
// Information about an action.
|
||||
//
|
||||
// Each rule must include exactly one of the following types of actions: forward,
|
||||
// fixed-response, or redirect, and it must be the last action to be performed.
|
||||
type Action struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
@ -3449,9 +3472,7 @@ type Action struct {
|
||||
ForwardConfig *ForwardActionConfig `type:"structure"`
|
||||
|
||||
// The order for the action. This value is required for rules with multiple
|
||||
// actions. The action with the lowest value for order is performed first. The
|
||||
// last action to be performed must be one of the following types of actions:
|
||||
// a forward, fixed-response, or redirect.
|
||||
// actions. The action with the lowest value for order is performed first.
|
||||
Order *int64 `min:"1" type:"integer"`
|
||||
|
||||
// [Application Load Balancer] Information for creating a redirect action. Specify
|
||||
@ -3647,7 +3668,7 @@ type AddTagsInput struct {
|
||||
// ResourceArns is a required field
|
||||
ResourceArns []*string `type:"list" required:"true"`
|
||||
|
||||
// The tags. Each resource can have a maximum of 10 tags.
|
||||
// The tags.
|
||||
//
|
||||
// Tags is a required field
|
||||
Tags []*Tag `min:"1" type:"list" required:"true"`
|
||||
@ -4036,6 +4057,9 @@ type AvailabilityZone struct {
|
||||
// a private IP address from the IPv4 range of the subnet.
|
||||
LoadBalancerAddresses []*LoadBalancerAddress `type:"list"`
|
||||
|
||||
// [Application Load Balancers on Outposts] The ID of the Outpost.
|
||||
OutpostId *string `type:"string"`
|
||||
|
||||
// The ID of the subnet. You can specify one subnet per Availability Zone.
|
||||
SubnetId *string `type:"string"`
|
||||
|
||||
@ -4059,6 +4083,12 @@ func (s *AvailabilityZone) SetLoadBalancerAddresses(v []*LoadBalancerAddress) *A
|
||||
return s
|
||||
}
|
||||
|
||||
// SetOutpostId sets the OutpostId field's value.
|
||||
func (s *AvailabilityZone) SetOutpostId(v string) *AvailabilityZone {
|
||||
s.OutpostId = &v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetSubnetId sets the SubnetId field's value.
|
||||
func (s *AvailabilityZone) SetSubnetId(v string) *AvailabilityZone {
|
||||
s.SubnetId = &v
|
||||
@ -4143,6 +4173,23 @@ func (s *Cipher) SetPriority(v int64) *Cipher {
|
||||
type CreateListenerInput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
// [TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN)
|
||||
// policy. You can specify one policy name. The following are the possible values:
|
||||
//
|
||||
// * HTTP1Only
|
||||
//
|
||||
// * HTTP2Only
|
||||
//
|
||||
// * HTTP2Optional
|
||||
//
|
||||
// * HTTP2Preferred
|
||||
//
|
||||
// * None
|
||||
//
|
||||
// For more information, see ALPN Policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies)
|
||||
// in the Network Load Balancers Guide.
|
||||
AlpnPolicy []*string `type:"list"`
|
||||
|
||||
// [HTTPS and TLS listeners] The default certificate for the listener. You must
|
||||
// provide exactly one certificate. Set CertificateArn to the certificate ARN
|
||||
// but do not set IsDefault.
|
||||
@ -4190,10 +4237,34 @@ type CreateListenerInput struct {
|
||||
// Protocol is a required field
|
||||
Protocol *string `type:"string" required:"true" enum:"ProtocolEnum"`
|
||||
|
||||
// [HTTPS and TLS listeners] The security policy that defines which ciphers
|
||||
// and protocols are supported. The default is the current predefined security
|
||||
// policy.
|
||||
// [HTTPS and TLS listeners] The security policy that defines which protocols
|
||||
// and ciphers are supported. The following are the possible values:
|
||||
//
|
||||
// * ELBSecurityPolicy-2016-08
|
||||
//
|
||||
// * ELBSecurityPolicy-TLS-1-0-2015-04
|
||||
//
|
||||
// * ELBSecurityPolicy-TLS-1-1-2017-01
|
||||
//
|
||||
// * ELBSecurityPolicy-TLS-1-2-2017-01
|
||||
//
|
||||
// * ELBSecurityPolicy-TLS-1-2-Ext-2018-06
|
||||
//
|
||||
// * ELBSecurityPolicy-FS-2018-06
|
||||
//
|
||||
// * ELBSecurityPolicy-FS-1-1-2019-08
|
||||
//
|
||||
// * ELBSecurityPolicy-FS-1-2-2019-08
|
||||
//
|
||||
// * ELBSecurityPolicy-FS-1-2-Res-2019-08
|
||||
//
|
||||
// For more information, see Security Policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies)
|
||||
// in the Application Load Balancers Guide and Security Policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies)
|
||||
// in the Network Load Balancers Guide.
|
||||
SslPolicy *string `type:"string"`
|
||||
|
||||
// The tags to assign to the listener.
|
||||
Tags []*Tag `min:"1" type:"list"`
|
||||
}
|
||||
|
||||
// String returns the string representation
|
||||
@ -4224,6 +4295,9 @@ func (s *CreateListenerInput) Validate() error {
|
||||
if s.Protocol == nil {
|
||||
invalidParams.Add(request.NewErrParamRequired("Protocol"))
|
||||
}
|
||||
if s.Tags != nil && len(s.Tags) < 1 {
|
||||
invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
|
||||
}
|
||||
if s.DefaultActions != nil {
|
||||
for i, v := range s.DefaultActions {
|
||||
if v == nil {
|
||||
@ -4234,6 +4308,16 @@ func (s *CreateListenerInput) Validate() error {
|
||||
}
|
||||
}
|
||||
}
|
||||
if s.Tags != nil {
|
||||
for i, v := range s.Tags {
|
||||
if v == nil {
|
||||
continue
|
||||
}
|
||||
if err := v.Validate(); err != nil {
|
||||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if invalidParams.Len() > 0 {
|
||||
return invalidParams
|
||||
@ -4241,6 +4325,12 @@ func (s *CreateListenerInput) Validate() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// SetAlpnPolicy sets the AlpnPolicy field's value.
|
||||
func (s *CreateListenerInput) SetAlpnPolicy(v []*string) *CreateListenerInput {
|
||||
s.AlpnPolicy = v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetCertificates sets the Certificates field's value.
|
||||
func (s *CreateListenerInput) SetCertificates(v []*Certificate) *CreateListenerInput {
|
||||
s.Certificates = v
|
||||
@ -4277,6 +4367,12 @@ func (s *CreateListenerInput) SetSslPolicy(v string) *CreateListenerInput {
|
||||
return s
|
||||
}
|
||||
|
||||
// SetTags sets the Tags field's value.
|
||||
func (s *CreateListenerInput) SetTags(v []*Tag) *CreateListenerInput {
|
||||
s.Tags = v
|
||||
return s
|
||||
}
|
||||
|
||||
type CreateListenerOutput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
@ -4303,6 +4399,10 @@ func (s *CreateListenerOutput) SetListeners(v []*Listener) *CreateListenerOutput
|
||||
type CreateLoadBalancerInput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
// [Application Load Balancers on Outposts] The ID of the customer-owned address
|
||||
// pool (CoIP pool).
|
||||
CustomerOwnedIpv4Pool *string `type:"string"`
|
||||
|
||||
// [Application Load Balancers] The type of IP addresses used by the subnets
|
||||
// for your load balancer. The possible values are ipv4 (for IPv4 addresses)
|
||||
// and dualstack (for IPv4 and IPv6 addresses). Internal load balancers must
|
||||
@ -4341,6 +4441,11 @@ type CreateLoadBalancerInput struct {
|
||||
// [Application Load Balancers] You must specify subnets from at least two Availability
|
||||
// Zones. You cannot specify Elastic IP addresses for your subnets.
|
||||
//
|
||||
// [Application Load Balancers on Outposts] You must specify one Outpost subnet.
|
||||
//
|
||||
// [Application Load Balancers on Local Zones] You can specify subnets from
|
||||
// one or more Local Zones.
|
||||
//
|
||||
// [Network Load Balancers] You can specify subnets from one or more Availability
|
||||
// Zones. You can specify one Elastic IP address per subnet if you need static
|
||||
// IP addresses for your internet-facing load balancer. For internal load balancers,
|
||||
@ -4354,11 +4459,16 @@ type CreateLoadBalancerInput struct {
|
||||
// [Application Load Balancers] You must specify subnets from at least two Availability
|
||||
// Zones.
|
||||
//
|
||||
// [Application Load Balancers on Outposts] You must specify one Outpost subnet.
|
||||
//
|
||||
// [Application Load Balancers on Local Zones] You can specify subnets from
|
||||
// one or more Local Zones.
|
||||
//
|
||||
// [Network Load Balancers] You can specify subnets from one or more Availability
|
||||
// Zones.
|
||||
Subnets []*string `type:"list"`
|
||||
|
||||
// One or more tags to assign to the load balancer.
|
||||
// The tags to assign to the load balancer.
|
||||
Tags []*Tag `min:"1" type:"list"`
|
||||
|
||||
// The type of load balancer. The default is application.
|
||||
@ -4401,6 +4511,12 @@ func (s *CreateLoadBalancerInput) Validate() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
|
||||
func (s *CreateLoadBalancerInput) SetCustomerOwnedIpv4Pool(v string) *CreateLoadBalancerInput {
|
||||
s.CustomerOwnedIpv4Pool = &v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetIpAddressType sets the IpAddressType field's value.
|
||||
func (s *CreateLoadBalancerInput) SetIpAddressType(v string) *CreateLoadBalancerInput {
|
||||
s.IpAddressType = &v
|
||||
@ -4499,9 +4615,10 @@ type CreateRuleInput struct {
|
||||
// Actions is a required field
|
||||
Actions []*Action `type:"list" required:"true"`
|
||||
|
||||
// The conditions. Each rule can include zero or one of the following conditions:
|
||||
// http-request-method, host-header, path-pattern, and source-ip, and zero or
|
||||
// more of the following conditions: http-header and query-string.
|
||||
// The conditions. Each rule can optionally include up to one of each of the
|
||||
// following conditions: http-request-method, host-header, path-pattern, and
|
||||
// source-ip. Each rule can also optionally include one or more of each of the
|
||||
// following conditions: http-header and query-string.
|
||||
//
|
||||
// Conditions is a required field
|
||||
Conditions []*RuleCondition `type:"list" required:"true"`
|
||||
@ -4515,6 +4632,9 @@ type CreateRuleInput struct {
|
||||
//
|
||||
// Priority is a required field
|
||||
Priority *int64 `min:"1" type:"integer" required:"true"`
|
||||
|
||||
// The tags to assign to the rule.
|
||||
Tags []*Tag `min:"1" type:"list"`
|
||||
}
|
||||
|
||||
// String returns the string representation
|
||||
@ -4545,6 +4665,9 @@ func (s *CreateRuleInput) Validate() error {
|
||||
if s.Priority != nil && *s.Priority < 1 {
|
||||
invalidParams.Add(request.NewErrParamMinValue("Priority", 1))
|
||||
}
|
||||
if s.Tags != nil && len(s.Tags) < 1 {
|
||||
invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
|
||||
}
|
||||
if s.Actions != nil {
|
||||
for i, v := range s.Actions {
|
||||
if v == nil {
|
||||
@ -4555,6 +4678,16 @@ func (s *CreateRuleInput) Validate() error {
|
||||
}
|
||||
}
|
||||
}
|
||||
if s.Tags != nil {
|
||||
for i, v := range s.Tags {
|
||||
if v == nil {
|
||||
continue
|
||||
}
|
||||
if err := v.Validate(); err != nil {
|
||||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if invalidParams.Len() > 0 {
|
||||
return invalidParams
|
||||
@ -4586,6 +4719,12 @@ func (s *CreateRuleInput) SetPriority(v int64) *CreateRuleInput {
|
||||
return s
|
||||
}
|
||||
|
||||
// SetTags sets the Tags field's value.
|
||||
func (s *CreateRuleInput) SetTags(v []*Tag) *CreateRuleInput {
|
||||
s.Tags = v
|
||||
return s
|
||||
}
|
||||
|
||||
type CreateRuleOutput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
@ -4679,13 +4818,15 @@ type CreateTargetGroupInput struct {
|
||||
// function, this parameter does not apply.
|
||||
Protocol *string `type:"string" enum:"ProtocolEnum"`
|
||||
|
||||
// The tags to assign to the target group.
|
||||
Tags []*Tag `min:"1" type:"list"`
|
||||
|
||||
// The type of target that you must specify when registering targets with this
|
||||
// target group. You can't specify targets for a target group using more than
|
||||
// one target type.
|
||||
//
|
||||
// * instance - Targets are specified by instance ID. This is the default
|
||||
// value. If the target group protocol is UDP or TCP_UDP, the target type
|
||||
// must be instance.
|
||||
// value.
|
||||
//
|
||||
// * ip - Targets are specified by IP address. You can specify IP addresses
|
||||
// from the subnets of the virtual private cloud (VPC) for the target group,
|
||||
@ -4739,6 +4880,9 @@ func (s *CreateTargetGroupInput) Validate() error {
|
||||
if s.Port != nil && *s.Port < 1 {
|
||||
invalidParams.Add(request.NewErrParamMinValue("Port", 1))
|
||||
}
|
||||
if s.Tags != nil && len(s.Tags) < 1 {
|
||||
invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
|
||||
}
|
||||
if s.UnhealthyThresholdCount != nil && *s.UnhealthyThresholdCount < 2 {
|
||||
invalidParams.Add(request.NewErrParamMinValue("UnhealthyThresholdCount", 2))
|
||||
}
|
||||
@ -4747,6 +4891,16 @@ func (s *CreateTargetGroupInput) Validate() error {
|
||||
invalidParams.AddNested("Matcher", err.(request.ErrInvalidParams))
|
||||
}
|
||||
}
|
||||
if s.Tags != nil {
|
||||
for i, v := range s.Tags {
|
||||
if v == nil {
|
||||
continue
|
||||
}
|
||||
if err := v.Validate(); err != nil {
|
||||
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if invalidParams.Len() > 0 {
|
||||
return invalidParams
|
||||
@ -4820,6 +4974,12 @@ func (s *CreateTargetGroupInput) SetProtocol(v string) *CreateTargetGroupInput {
|
||||
return s
|
||||
}
|
||||
|
||||
// SetTags sets the Tags field's value.
|
||||
func (s *CreateTargetGroupInput) SetTags(v []*Tag) *CreateTargetGroupInput {
|
||||
s.Tags = v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetTargetType sets the TargetType field's value.
|
||||
func (s *CreateTargetGroupInput) SetTargetType(v string) *CreateTargetGroupInput {
|
||||
s.TargetType = &v
|
||||
@ -5733,7 +5893,7 @@ type DescribeSSLPoliciesOutput struct {
|
||||
// Otherwise, this is null.
|
||||
NextMarker *string `type:"string"`
|
||||
|
||||
// Information about the policies.
|
||||
// Information about the security policies.
|
||||
SslPolicies []*SslPolicy `type:"list"`
|
||||
}
|
||||
|
||||
@ -5762,7 +5922,8 @@ func (s *DescribeSSLPoliciesOutput) SetSslPolicies(v []*SslPolicy) *DescribeSSLP
|
||||
type DescribeTagsInput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
// The Amazon Resource Names (ARN) of the resources.
|
||||
// The Amazon Resource Names (ARN) of the resources. You can specify up to 20
|
||||
// resources in a single call.
|
||||
//
|
||||
// ResourceArns is a required field
|
||||
ResourceArns []*string `type:"list" required:"true"`
|
||||
@ -6338,6 +6499,10 @@ func (s *Limit) SetName(v string) *Limit {
|
||||
type Listener struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
// [TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN)
|
||||
// policy.
|
||||
AlpnPolicy []*string `type:"list"`
|
||||
|
||||
// [HTTPS or TLS listener] The default certificate for the listener.
|
||||
Certificates []*Certificate `type:"list"`
|
||||
|
||||
@ -6356,8 +6521,8 @@ type Listener struct {
|
||||
// The protocol for connections from clients to the load balancer.
|
||||
Protocol *string `type:"string" enum:"ProtocolEnum"`
|
||||
|
||||
// [HTTPS or TLS listener] The security policy that defines which ciphers and
|
||||
// protocols are supported. The default is the current predefined security policy.
|
||||
// [HTTPS or TLS listener] The security policy that defines which protocols
|
||||
// and ciphers are supported.
|
||||
SslPolicy *string `type:"string"`
|
||||
}
|
||||
|
||||
@ -6371,6 +6536,12 @@ func (s Listener) GoString() string {
|
||||
return s.String()
|
||||
}
|
||||
|
||||
// SetAlpnPolicy sets the AlpnPolicy field's value.
|
||||
func (s *Listener) SetAlpnPolicy(v []*string) *Listener {
|
||||
s.AlpnPolicy = v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetCertificates sets the Certificates field's value.
|
||||
func (s *Listener) SetCertificates(v []*Certificate) *Listener {
|
||||
s.Certificates = v
|
||||
@ -6417,7 +6588,7 @@ func (s *Listener) SetSslPolicy(v string) *Listener {
|
||||
type LoadBalancer struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
// The Availability Zones for the load balancer.
|
||||
// The subnets for the load balancer.
|
||||
AvailabilityZones []*AvailabilityZone `type:"list"`
|
||||
|
||||
// The ID of the Amazon Route 53 hosted zone associated with the load balancer.
|
||||
@ -6426,6 +6597,10 @@ type LoadBalancer struct {
|
||||
// The date and time the load balancer was created.
|
||||
CreatedTime *time.Time `type:"timestamp"`
|
||||
|
||||
// [Application Load Balancers on Outposts] The ID of the customer-owned address
|
||||
// pool.
|
||||
CustomerOwnedIpv4Pool *string `type:"string"`
|
||||
|
||||
// The public DNS name of the load balancer.
|
||||
DNSName *string `type:"string"`
|
||||
|
||||
@ -6492,6 +6667,12 @@ func (s *LoadBalancer) SetCreatedTime(v time.Time) *LoadBalancer {
|
||||
return s
|
||||
}
|
||||
|
||||
// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
|
||||
func (s *LoadBalancer) SetCustomerOwnedIpv4Pool(v string) *LoadBalancer {
|
||||
s.CustomerOwnedIpv4Pool = &v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetDNSName sets the DNSName field's value.
|
||||
func (s *LoadBalancer) SetDNSName(v string) *LoadBalancer {
|
||||
s.DNSName = &v
|
||||
@ -6617,12 +6798,18 @@ type LoadBalancerAttribute struct {
|
||||
// * idle_timeout.timeout_seconds - The idle timeout value, in seconds. The
|
||||
// valid range is 1-4000 seconds. The default is 60 seconds.
|
||||
//
|
||||
// * routing.http.desync_mitigation_mode - Determines how the load balancer
|
||||
// handles requests that might pose a security risk to your application.
|
||||
// The possible values are monitor, defensive, and strictest. The default
|
||||
// is defensive.
|
||||
//
|
||||
// * routing.http.drop_invalid_header_fields.enabled - Indicates whether
|
||||
// HTTP headers with invalid header fields are removed by the load balancer
|
||||
// (true) or routed to targets (false). The default is false.
|
||||
//
|
||||
// * routing.http2.enabled - Indicates whether HTTP/2 is enabled. The value
|
||||
// is true or false. The default is true.
|
||||
// is true or false. The default is true. Elastic Load Balancing requires
|
||||
// that message header names contain only alphanumeric characters and hyphens.
|
||||
//
|
||||
// The following attributes are supported by only Network Load Balancers:
|
||||
//
|
||||
@ -6739,6 +6926,23 @@ func (s *Matcher) SetHttpCode(v string) *Matcher {
|
||||
type ModifyListenerInput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
// [TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN)
|
||||
// policy. You can specify one policy name. The following are the possible values:
|
||||
//
|
||||
// * HTTP1Only
|
||||
//
|
||||
// * HTTP2Only
|
||||
//
|
||||
// * HTTP2Optional
|
||||
//
|
||||
// * HTTP2Preferred
|
||||
//
|
||||
// * None
|
||||
//
|
||||
// For more information, see ALPN Policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies)
|
||||
// in the Network Load Balancers Guide.
|
||||
AlpnPolicy []*string `type:"list"`
|
||||
|
||||
// [HTTPS and TLS listeners] The default certificate for the listener. You must
|
||||
// provide exactly one certificate. Set CertificateArn to the certificate ARN
|
||||
// but do not set IsDefault.
|
||||
@ -6781,8 +6985,29 @@ type ModifyListenerInput struct {
|
||||
Protocol *string `type:"string" enum:"ProtocolEnum"`
|
||||
|
||||
// [HTTPS and TLS listeners] The security policy that defines which protocols
|
||||
// and ciphers are supported. For more information, see Security Policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies)
|
||||
// in the Application Load Balancers Guide.
|
||||
// and ciphers are supported. The following are the possible values:
|
||||
//
|
||||
// * ELBSecurityPolicy-2016-08
|
||||
//
|
||||
// * ELBSecurityPolicy-TLS-1-0-2015-04
|
||||
//
|
||||
// * ELBSecurityPolicy-TLS-1-1-2017-01
|
||||
//
|
||||
// * ELBSecurityPolicy-TLS-1-2-2017-01
|
||||
//
|
||||
// * ELBSecurityPolicy-TLS-1-2-Ext-2018-06
|
||||
//
|
||||
// * ELBSecurityPolicy-FS-2018-06
|
||||
//
|
||||
// * ELBSecurityPolicy-FS-1-1-2019-08
|
||||
//
|
||||
// * ELBSecurityPolicy-FS-1-2-2019-08
|
||||
//
|
||||
// * ELBSecurityPolicy-FS-1-2-Res-2019-08
|
||||
//
|
||||
// For more information, see Security Policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies)
|
||||
// in the Application Load Balancers Guide and Security Policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies)
|
||||
// in the Network Load Balancers Guide.
|
||||
SslPolicy *string `type:"string"`
|
||||
}
|
||||
|
||||
@ -6822,6 +7047,12 @@ func (s *ModifyListenerInput) Validate() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// SetAlpnPolicy sets the AlpnPolicy field's value.
|
||||
func (s *ModifyListenerInput) SetAlpnPolicy(v []*string) *ModifyListenerInput {
|
||||
s.AlpnPolicy = v
|
||||
return s
|
||||
}
|
||||
|
||||
// SetCertificates sets the Certificates field's value.
|
||||
func (s *ModifyListenerInput) SetCertificates(v []*Certificate) *ModifyListenerInput {
|
||||
s.Certificates = v
|
||||
@ -7180,7 +7411,9 @@ type ModifyTargetGroupInput struct {
|
||||
HealthyThresholdCount *int64 `min:"2" type:"integer"`
|
||||
|
||||
// [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful
|
||||
// response from a target.
|
||||
// response from a target. The possible values are from 200 to 499. You can
|
||||
// specify multiple values (for example, "200,202") or a range of values (for
|
||||
// example, "200-299"). The default is 200.
|
||||
//
|
||||
// With Network Load Balancers, you can't modify this setting.
|
||||
Matcher *Matcher `type:"structure"`
|
||||
@ -7819,6 +8052,11 @@ func (s *Rule) SetRuleArn(v string) *Rule {
|
||||
}
|
||||
|
||||
// Information about a condition for a rule.
|
||||
//
|
||||
// Each rule can optionally include up to one of each of the following conditions:
|
||||
// http-request-method, host-header, path-pattern, and source-ip. Each rule
|
||||
// can also optionally include one or more of each of the following conditions:
|
||||
// http-header and query-string.
|
||||
type RuleCondition struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
@ -7855,13 +8093,14 @@ type RuleCondition struct {
|
||||
// Information for a source IP condition. Specify only when Field is source-ip.
|
||||
SourceIpConfig *SourceIpConditionConfig `type:"structure"`
|
||||
|
||||
// The condition value. You can use Values if the rule contains only host-header
|
||||
// and path-pattern conditions. Otherwise, you can use HostHeaderConfig for
|
||||
// host-header conditions and PathPatternConfig for path-pattern conditions.
|
||||
// The condition value. Specify only when Field is host-header or path-pattern.
|
||||
// Alternatively, to specify multiple host names or multiple path patterns,
|
||||
// use HostHeaderConfig or PathPatternConfig.
|
||||
//
|
||||
// If Field is host-header, you can specify a single host name (for example,
|
||||
// my.example.com). A host name is case insensitive, can be up to 128 characters
|
||||
// in length, and can contain any of the following characters.
|
||||
// If Field is host-header and you are not using HostHeaderConfig, you can specify
|
||||
// a single host name (for example, my.example.com) in Values. A host name is
|
||||
// case insensitive, can be up to 128 characters in length, and can contain
|
||||
// any of the following characters.
|
||||
//
|
||||
// * A-Z, a-z, 0-9
|
||||
//
|
||||
@ -7871,9 +8110,10 @@ type RuleCondition struct {
|
||||
//
|
||||
// * ? (matches exactly 1 character)
|
||||
//
|
||||
// If Field is path-pattern, you can specify a single path pattern (for example,
|
||||
// /img/*). A path pattern is case-sensitive, can be up to 128 characters in
|
||||
// length, and can contain any of the following characters.
|
||||
// If Field is path-pattern and you are not using PathPatternConfig, you can
|
||||
// specify a single path pattern (for example, /img/*) in Values. A path pattern
|
||||
// is case-sensitive, can be up to 128 characters in length, and can contain
|
||||
// any of the following characters.
|
||||
//
|
||||
// * A-Z, a-z, 0-9
|
||||
//
|
||||
@ -8285,7 +8525,7 @@ func (s *SetSubnetsInput) SetSubnets(v []*string) *SetSubnetsInput {
|
||||
type SetSubnetsOutput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
// Information about the subnet and Availability Zone.
|
||||
// Information about the subnets.
|
||||
AvailabilityZones []*AvailabilityZone `type:"list"`
|
||||
}
|
||||
|
||||
@ -8760,8 +9000,8 @@ type TargetGroupAttribute struct {
|
||||
|
||||
// The name of the attribute.
|
||||
//
|
||||
// The following attribute is supported by both Application Load Balancers and
|
||||
// Network Load Balancers:
|
||||
// The following attributes are supported by both Application Load Balancers
|
||||
// and Network Load Balancers:
|
||||
//
|
||||
// * deregistration_delay.timeout_seconds - The amount of time, in seconds,
|
||||
// for Elastic Load Balancing to wait before changing the state of a deregistering
|
||||
@ -8769,24 +9009,25 @@ type TargetGroupAttribute struct {
|
||||
// value is 300 seconds. If the target is a Lambda function, this attribute
|
||||
// is not supported.
|
||||
//
|
||||
// The following attributes are supported by Application Load Balancers if the
|
||||
// target is not a Lambda function:
|
||||
// * stickiness.enabled - Indicates whether sticky sessions are enabled.
|
||||
// The value is true or false. The default is false.
|
||||
//
|
||||
// * stickiness.type - The type of sticky sessions. The possible values are
|
||||
// lb_cookie for Application Load Balancers or source_ip for Network Load
|
||||
// Balancers.
|
||||
//
|
||||
// The following attributes are supported only if the load balancer is an Application
|
||||
// Load Balancer and the target is an instance or an IP address:
|
||||
//
|
||||
// * load_balancing.algorithm.type - The load balancing algorithm determines
|
||||
// how the load balancer selects targets when routing requests. The value
|
||||
// is round_robin or least_outstanding_requests. The default is round_robin.
|
||||
//
|
||||
// * slow_start.duration_seconds - The time period, in seconds, during which
|
||||
// a newly registered target receives a linearly increasing share of the
|
||||
// traffic to the target group. After this time period ends, the target receives
|
||||
// its full share of traffic. The range is 30-900 seconds (15 minutes). Slow
|
||||
// start mode is disabled by default.
|
||||
//
|
||||
// * stickiness.enabled - Indicates whether sticky sessions are enabled.
|
||||
// The value is true or false. The default is false.
|
||||
//
|
||||
// * stickiness.type - The type of sticky sessions. The possible value is
|
||||
// lb_cookie.
|
||||
// a newly registered target receives an increasing share of the traffic
|
||||
// to the target group. After this time period ends, the target receives
|
||||
// its full share of traffic. The range is 30-900 seconds (15 minutes). The
|
||||
// default is 0 seconds (disabled).
|
||||
//
|
||||
// * stickiness.lb_cookie.duration_seconds - The time period, in seconds,
|
||||
// during which requests from a client should be routed to the same target.
|
||||
@ -8794,14 +9035,15 @@ type TargetGroupAttribute struct {
|
||||
// considered stale. The range is 1 second to 1 week (604800 seconds). The
|
||||
// default value is 1 day (86400 seconds).
|
||||
//
|
||||
// The following attribute is supported only if the target is a Lambda function.
|
||||
// The following attribute is supported only if the load balancer is an Application
|
||||
// Load Balancer and the target is a Lambda function:
|
||||
//
|
||||
// * lambda.multi_value_headers.enabled - Indicates whether the request and
|
||||
// response headers exchanged between the load balancer and the Lambda function
|
||||
// include arrays of values or strings. The value is true or false. The default
|
||||
// is false. If the value is false and the request contains a duplicate header
|
||||
// field name or query parameter key, the load balancer uses the last value
|
||||
// sent by the client.
|
||||
// response headers that are exchanged between the load balancer and the
|
||||
// Lambda function include arrays of values or strings. The value is true
|
||||
// or false. The default is false. If the value is false and the request
|
||||
// contains a duplicate header field name or query parameter key, the load
|
||||
// balancer uses the last value sent by the client.
|
||||
//
|
||||
// The following attribute is supported only by Network Load Balancers:
|
||||
//
|
||||
@ -9060,6 +9302,17 @@ const (
|
||||
ActionTypeEnumFixedResponse = "fixed-response"
|
||||
)
|
||||
|
||||
// ActionTypeEnum_Values returns all elements of the ActionTypeEnum enum
|
||||
func ActionTypeEnum_Values() []string {
|
||||
return []string{
|
||||
ActionTypeEnumForward,
|
||||
ActionTypeEnumAuthenticateOidc,
|
||||
ActionTypeEnumAuthenticateCognito,
|
||||
ActionTypeEnumRedirect,
|
||||
ActionTypeEnumFixedResponse,
|
||||
}
|
||||
}
|
||||
|
||||
const (
|
||||
// AuthenticateCognitoActionConditionalBehaviorEnumDeny is a AuthenticateCognitoActionConditionalBehaviorEnum enum value
|
||||
AuthenticateCognitoActionConditionalBehaviorEnumDeny = "deny"
|
||||
@ -9071,6 +9324,15 @@ const (
|
||||
AuthenticateCognitoActionConditionalBehaviorEnumAuthenticate = "authenticate"
|
||||
)
|
||||
|
||||
// AuthenticateCognitoActionConditionalBehaviorEnum_Values returns all elements of the AuthenticateCognitoActionConditionalBehaviorEnum enum
|
||||
func AuthenticateCognitoActionConditionalBehaviorEnum_Values() []string {
|
||||
return []string{
|
||||
AuthenticateCognitoActionConditionalBehaviorEnumDeny,
|
||||
AuthenticateCognitoActionConditionalBehaviorEnumAllow,
|
||||
AuthenticateCognitoActionConditionalBehaviorEnumAuthenticate,
|
||||
}
|
||||
}
|
||||
|
||||
const (
|
||||
// AuthenticateOidcActionConditionalBehaviorEnumDeny is a AuthenticateOidcActionConditionalBehaviorEnum enum value
|
||||
AuthenticateOidcActionConditionalBehaviorEnumDeny = "deny"
|
||||
@ -9082,6 +9344,15 @@ const (
|
||||
AuthenticateOidcActionConditionalBehaviorEnumAuthenticate = "authenticate"
|
||||
)
|
||||
|
||||
// AuthenticateOidcActionConditionalBehaviorEnum_Values returns all elements of the AuthenticateOidcActionConditionalBehaviorEnum enum
|
||||
func AuthenticateOidcActionConditionalBehaviorEnum_Values() []string {
|
||||
return []string{
|
||||
AuthenticateOidcActionConditionalBehaviorEnumDeny,
|
||||
AuthenticateOidcActionConditionalBehaviorEnumAllow,
|
||||
AuthenticateOidcActionConditionalBehaviorEnumAuthenticate,
|
||||
}
|
||||
}
|
||||
|
||||
const (
|
||||
// IpAddressTypeIpv4 is a IpAddressType enum value
|
||||
IpAddressTypeIpv4 = "ipv4"
|
||||
@ -9090,6 +9361,14 @@ const (
|
||||
IpAddressTypeDualstack = "dualstack"
|
||||
)
|
||||
|
||||
// IpAddressType_Values returns all elements of the IpAddressType enum
|
||||
func IpAddressType_Values() []string {
|
||||
return []string{
|
||||
IpAddressTypeIpv4,
|
||||
IpAddressTypeDualstack,
|
||||
}
|
||||
}
|
||||
|
||||
const (
|
||||
// LoadBalancerSchemeEnumInternetFacing is a LoadBalancerSchemeEnum enum value
|
||||
LoadBalancerSchemeEnumInternetFacing = "internet-facing"
|
||||
@ -9098,6 +9377,14 @@ const (
|
||||
LoadBalancerSchemeEnumInternal = "internal"
|
||||
)
|
||||
|
||||
// LoadBalancerSchemeEnum_Values returns all elements of the LoadBalancerSchemeEnum enum
|
||||
func LoadBalancerSchemeEnum_Values() []string {
|
||||
return []string{
|
||||
LoadBalancerSchemeEnumInternetFacing,
|
||||
LoadBalancerSchemeEnumInternal,
|
||||
}
|
||||
}
|
||||
|
||||
const (
|
||||
// LoadBalancerStateEnumActive is a LoadBalancerStateEnum enum value
|
||||
LoadBalancerStateEnumActive = "active"
|
||||
@ -9112,6 +9399,16 @@ const (
|
||||
LoadBalancerStateEnumFailed = "failed"
|
||||
)
|
||||
|
||||
// LoadBalancerStateEnum_Values returns all elements of the LoadBalancerStateEnum enum
|
||||
func LoadBalancerStateEnum_Values() []string {
|
||||
return []string{
|
||||
LoadBalancerStateEnumActive,
|
||||
LoadBalancerStateEnumProvisioning,
|
||||
LoadBalancerStateEnumActiveImpaired,
|
||||
LoadBalancerStateEnumFailed,
|
||||
}
|
||||
}
|
||||
|
||||
const (
|
||||
// LoadBalancerTypeEnumApplication is a LoadBalancerTypeEnum enum value
|
||||
LoadBalancerTypeEnumApplication = "application"
|
||||
@ -9120,6 +9417,14 @@ const (
|
||||
LoadBalancerTypeEnumNetwork = "network"
|
||||
)
|
||||
|
||||
// LoadBalancerTypeEnum_Values returns all elements of the LoadBalancerTypeEnum enum
|
||||
func LoadBalancerTypeEnum_Values() []string {
|
||||
return []string{
|
||||
LoadBalancerTypeEnumApplication,
|
||||
LoadBalancerTypeEnumNetwork,
|
||||
}
|
||||
}
|
||||
|
||||
const (
|
||||
// ProtocolEnumHttp is a ProtocolEnum enum value
|
||||
ProtocolEnumHttp = "HTTP"
|
||||
@ -9140,6 +9445,18 @@ const (
|
||||
ProtocolEnumTcpUdp = "TCP_UDP"
|
||||
)
|
||||
|
||||
// ProtocolEnum_Values returns all elements of the ProtocolEnum enum
|
||||
func ProtocolEnum_Values() []string {
|
||||
return []string{
|
||||
ProtocolEnumHttp,
|
||||
ProtocolEnumHttps,
|
||||
ProtocolEnumTcp,
|
||||
ProtocolEnumTls,
|
||||
ProtocolEnumUdp,
|
||||
ProtocolEnumTcpUdp,
|
||||
}
|
||||
}
|
||||
|
||||
const (
|
||||
// RedirectActionStatusCodeEnumHttp301 is a RedirectActionStatusCodeEnum enum value
|
||||
RedirectActionStatusCodeEnumHttp301 = "HTTP_301"
|
||||
@ -9148,6 +9465,14 @@ const (
|
||||
RedirectActionStatusCodeEnumHttp302 = "HTTP_302"
|
||||
)
|
||||
|
||||
// RedirectActionStatusCodeEnum_Values returns all elements of the RedirectActionStatusCodeEnum enum
|
||||
func RedirectActionStatusCodeEnum_Values() []string {
|
||||
return []string{
|
||||
RedirectActionStatusCodeEnumHttp301,
|
||||
RedirectActionStatusCodeEnumHttp302,
|
||||
}
|
||||
}
|
||||
|
||||
const (
|
||||
// TargetHealthReasonEnumElbRegistrationInProgress is a TargetHealthReasonEnum enum value
|
||||
TargetHealthReasonEnumElbRegistrationInProgress = "Elb.RegistrationInProgress"
|
||||
@ -9186,6 +9511,24 @@ const (
|
||||
TargetHealthReasonEnumElbInternalError = "Elb.InternalError"
|
||||
)
|
||||
|
||||
// TargetHealthReasonEnum_Values returns all elements of the TargetHealthReasonEnum enum
|
||||
func TargetHealthReasonEnum_Values() []string {
|
||||
return []string{
|
||||
TargetHealthReasonEnumElbRegistrationInProgress,
|
||||
TargetHealthReasonEnumElbInitialHealthChecking,
|
||||
TargetHealthReasonEnumTargetResponseCodeMismatch,
|
||||
TargetHealthReasonEnumTargetTimeout,
|
||||
TargetHealthReasonEnumTargetFailedHealthChecks,
|
||||
TargetHealthReasonEnumTargetNotRegistered,
|
||||
TargetHealthReasonEnumTargetNotInUse,
|
||||
TargetHealthReasonEnumTargetDeregistrationInProgress,
|
||||
TargetHealthReasonEnumTargetInvalidState,
|
||||
TargetHealthReasonEnumTargetIpUnusable,
|
||||
TargetHealthReasonEnumTargetHealthCheckDisabled,
|
||||
TargetHealthReasonEnumElbInternalError,
|
||||
}
|
||||
}
|
||||
|
||||
const (
|
||||
// TargetHealthStateEnumInitial is a TargetHealthStateEnum enum value
|
||||
TargetHealthStateEnumInitial = "initial"
|
||||
@ -9206,6 +9549,18 @@ const (
|
||||
TargetHealthStateEnumUnavailable = "unavailable"
|
||||
)
|
||||
|
||||
// TargetHealthStateEnum_Values returns all elements of the TargetHealthStateEnum enum
|
||||
func TargetHealthStateEnum_Values() []string {
|
||||
return []string{
|
||||
TargetHealthStateEnumInitial,
|
||||
TargetHealthStateEnumHealthy,
|
||||
TargetHealthStateEnumUnhealthy,
|
||||
TargetHealthStateEnumUnused,
|
||||
TargetHealthStateEnumDraining,
|
||||
TargetHealthStateEnumUnavailable,
|
||||
}
|
||||
}
|
||||
|
||||
const (
|
||||
// TargetTypeEnumInstance is a TargetTypeEnum enum value
|
||||
TargetTypeEnumInstance = "instance"
|
||||
@ -9216,3 +9571,12 @@ const (
|
||||
// TargetTypeEnumLambda is a TargetTypeEnum enum value
|
||||
TargetTypeEnumLambda = "lambda"
|
||||
)
|
||||
|
||||
// TargetTypeEnum_Values returns all elements of the TargetTypeEnum enum
|
||||
func TargetTypeEnum_Values() []string {
|
||||
return []string{
|
||||
TargetTypeEnumInstance,
|
||||
TargetTypeEnumIp,
|
||||
TargetTypeEnumLambda,
|
||||
}
|
||||
}
|
||||
|
6
vendor/github.com/aws/aws-sdk-go/service/elbv2/errors.go
generated
vendored
6
vendor/github.com/aws/aws-sdk-go/service/elbv2/errors.go
generated
vendored
@ -4,6 +4,12 @@ package elbv2
|
||||
|
||||
const (
|
||||
|
||||
// ErrCodeALPNPolicyNotSupportedException for service response error code
|
||||
// "ALPNPolicyNotFound".
|
||||
//
|
||||
// The specified ALPN policy is not supported.
|
||||
ErrCodeALPNPolicyNotSupportedException = "ALPNPolicyNotFound"
|
||||
|
||||
// ErrCodeAllocationIdNotFoundException for service response error code
|
||||
// "AllocationIdNotFound".
|
||||
//
|
||||
|
1415
vendor/github.com/aws/aws-sdk-go/service/kms/api.go
generated
vendored
1415
vendor/github.com/aws/aws-sdk-go/service/kms/api.go
generated
vendored
File diff suppressed because it is too large
Load Diff
4
vendor/github.com/aws/aws-sdk-go/service/kms/errors.go
generated
vendored
4
vendor/github.com/aws/aws-sdk-go/service/kms/errors.go
generated
vendored
@ -297,8 +297,8 @@ const (
|
||||
// ErrCodeLimitExceededException for service response error code
|
||||
// "LimitExceededException".
|
||||
//
|
||||
// The request was rejected because a limit was exceeded. For more information,
|
||||
// see Limits (https://docs.aws.amazon.com/kms/latest/developerguide/limits.html)
|
||||
// The request was rejected because a quota was exceeded. For more information,
|
||||
// see Quotas (https://docs.aws.amazon.com/kms/latest/developerguide/limits.html)
|
||||
// in the AWS Key Management Service Developer Guide.
|
||||
ErrCodeLimitExceededException = "LimitExceededException"
|
||||
|
||||
|
6
vendor/github.com/aws/aws-sdk-go/service/sts/api.go
generated
vendored
6
vendor/github.com/aws/aws-sdk-go/service/sts/api.go
generated
vendored
@ -207,6 +207,10 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
|
||||
// and Deactivating AWS STS in an AWS Region (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// * ErrCodeExpiredTokenException "ExpiredTokenException"
|
||||
// The web identity token that was passed is expired or is not valid. Get a
|
||||
// new identity token from the identity provider and then retry the request.
|
||||
//
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRole
|
||||
func (c *STS) AssumeRole(input *AssumeRoleInput) (*AssumeRoleOutput, error) {
|
||||
req, out := c.AssumeRoleRequest(input)
|
||||
@ -626,7 +630,7 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
|
||||
// * Using Web Identity Federation API Operations for Mobile Apps (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc_manual.html)
|
||||
// and Federation Through a Web-based Identity Provider (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity).
|
||||
//
|
||||
// * Web Identity Federation Playground (https://web-identity-federation-playground.s3.amazonaws.com/index.html).
|
||||
// * Web Identity Federation Playground (https://aws.amazon.com/blogs/aws/the-aws-web-identity-federation-playground/).
|
||||
// Walk through the process of authenticating through Login with Amazon,
|
||||
// Facebook, or Google, getting temporary security credentials, and then
|
||||
// using those credentials to make a request to AWS.
|
||||
|
86
vendor/github.com/aws/aws-sdk-go/service/sts/doc.go
generated
vendored
86
vendor/github.com/aws/aws-sdk-go/service/sts/doc.go
generated
vendored
@ -3,87 +3,11 @@
|
||||
// Package sts provides the client and types for making API
|
||||
// requests to AWS Security Token Service.
|
||||
//
|
||||
// The AWS Security Token Service (STS) is a web service that enables you to
|
||||
// request temporary, limited-privilege credentials for AWS Identity and Access
|
||||
// Management (IAM) users or for users that you authenticate (federated users).
|
||||
// This guide provides descriptions of the STS API. For more detailed information
|
||||
// about using this service, go to Temporary Security Credentials (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html).
|
||||
//
|
||||
// For information about setting up signatures and authorization through the
|
||||
// API, go to Signing AWS API Requests (https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html)
|
||||
// in the AWS General Reference. For general information about the Query API,
|
||||
// go to Making Query Requests (https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html)
|
||||
// in Using IAM. For information about using security tokens with other AWS
|
||||
// products, go to AWS Services That Work with IAM (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// If you're new to AWS and need additional technical information about a specific
|
||||
// AWS product, you can find the product's technical documentation at http://aws.amazon.com/documentation/
|
||||
// (http://aws.amazon.com/documentation/).
|
||||
//
|
||||
// Endpoints
|
||||
//
|
||||
// By default, AWS Security Token Service (STS) is available as a global service,
|
||||
// and all AWS STS requests go to a single endpoint at https://sts.amazonaws.com.
|
||||
// Global requests map to the US East (N. Virginia) region. AWS recommends using
|
||||
// Regional AWS STS endpoints instead of the global endpoint to reduce latency,
|
||||
// build in redundancy, and increase session token validity. For more information,
|
||||
// see Managing AWS STS in an AWS Region (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// Most AWS Regions are enabled for operations in all AWS services by default.
|
||||
// Those Regions are automatically activated for use with AWS STS. Some Regions,
|
||||
// such as Asia Pacific (Hong Kong), must be manually enabled. To learn more
|
||||
// about enabling and disabling AWS Regions, see Managing AWS Regions (https://docs.aws.amazon.com/general/latest/gr/rande-manage.html)
|
||||
// in the AWS General Reference. When you enable these AWS Regions, they are
|
||||
// automatically activated for use with AWS STS. You cannot activate the STS
|
||||
// endpoint for a Region that is disabled. Tokens that are valid in all AWS
|
||||
// Regions are longer than tokens that are valid in Regions that are enabled
|
||||
// by default. Changing this setting might affect existing systems where you
|
||||
// temporarily store tokens. For more information, see Managing Global Endpoint
|
||||
// Session Tokens (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html#sts-regions-manage-tokens)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// After you activate a Region for use with AWS STS, you can direct AWS STS
|
||||
// API calls to that Region. AWS STS recommends that you provide both the Region
|
||||
// and endpoint when you make calls to a Regional endpoint. You can provide
|
||||
// the Region alone for manually enabled Regions, such as Asia Pacific (Hong
|
||||
// Kong). In this case, the calls are directed to the STS Regional endpoint.
|
||||
// However, if you provide the Region alone for Regions enabled by default,
|
||||
// the calls are directed to the global endpoint of https://sts.amazonaws.com.
|
||||
//
|
||||
// To view the list of AWS STS endpoints and whether they are active by default,
|
||||
// see Writing Code to Use AWS STS Regions (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html#id_credentials_temp_enable-regions_writing_code)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// Recording API requests
|
||||
//
|
||||
// STS supports AWS CloudTrail, which is a service that records AWS calls for
|
||||
// your AWS account and delivers log files to an Amazon S3 bucket. By using
|
||||
// information collected by CloudTrail, you can determine what requests were
|
||||
// successfully made to STS, who made the request, when it was made, and so
|
||||
// on.
|
||||
//
|
||||
// If you activate AWS STS endpoints in Regions other than the default global
|
||||
// endpoint, then you must also turn on CloudTrail logging in those Regions.
|
||||
// This is necessary to record any AWS STS API calls that are made in those
|
||||
// Regions. For more information, see Turning On CloudTrail in Additional Regions
|
||||
// (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/aggregating_logs_regions_turn_on_ct.html)
|
||||
// in the AWS CloudTrail User Guide.
|
||||
//
|
||||
// AWS Security Token Service (STS) is a global service with a single endpoint
|
||||
// at https://sts.amazonaws.com. Calls to this endpoint are logged as calls
|
||||
// to a global service. However, because this endpoint is physically located
|
||||
// in the US East (N. Virginia) Region, your logs list us-east-1 as the event
|
||||
// Region. CloudTrail does not write these logs to the US East (Ohio) Region
|
||||
// unless you choose to include global service logs in that Region. CloudTrail
|
||||
// writes calls to all Regional endpoints to their respective Regions. For example,
|
||||
// calls to sts.us-east-2.amazonaws.com are published to the US East (Ohio)
|
||||
// Region and calls to sts.eu-central-1.amazonaws.com are published to the EU
|
||||
// (Frankfurt) Region.
|
||||
//
|
||||
// To learn more about CloudTrail, including how to turn it on and find your
|
||||
// log files, see the AWS CloudTrail User Guide (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html).
|
||||
// AWS Security Token Service (STS) enables you to request temporary, limited-privilege
|
||||
// credentials for AWS Identity and Access Management (IAM) users or for users
|
||||
// that you authenticate (federated users). This guide provides descriptions
|
||||
// of the STS API. For more information about using this service, see Temporary
|
||||
// Security Credentials (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html).
|
||||
//
|
||||
// See https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15 for more information on this service.
|
||||
//
|
||||
|
25
vendor/github.com/jmespath/go-jmespath/.travis.yml
generated
vendored
25
vendor/github.com/jmespath/go-jmespath/.travis.yml
generated
vendored
@ -3,7 +3,26 @@ language: go
|
||||
sudo: false
|
||||
|
||||
go:
|
||||
- 1.4
|
||||
- 1.5.x
|
||||
- 1.6.x
|
||||
- 1.7.x
|
||||
- 1.8.x
|
||||
- 1.9.x
|
||||
- 1.10.x
|
||||
- 1.11.x
|
||||
- 1.12.x
|
||||
- 1.13.x
|
||||
- 1.14.x
|
||||
- 1.15.x
|
||||
- tip
|
||||
|
||||
install: go get -v -t ./...
|
||||
script: make test
|
||||
allow_failures:
|
||||
- go: tip
|
||||
|
||||
script: make build
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- language: go
|
||||
go: 1.15.x
|
||||
script: make test
|
||||
|
21
vendor/github.com/jmespath/go-jmespath/Makefile
generated
vendored
21
vendor/github.com/jmespath/go-jmespath/Makefile
generated
vendored
@ -1,6 +1,8 @@
|
||||
|
||||
CMD = jpgo
|
||||
|
||||
SRC_PKGS=./ ./cmd/... ./fuzz/...
|
||||
|
||||
help:
|
||||
@echo "Please use \`make <target>' where <target> is one of"
|
||||
@echo " test to run all the tests"
|
||||
@ -9,21 +11,22 @@ help:
|
||||
|
||||
|
||||
generate:
|
||||
go generate ./...
|
||||
go generate ${SRC_PKGS}
|
||||
|
||||
build:
|
||||
rm -f $(CMD)
|
||||
go build ./...
|
||||
go build ${SRC_PKGS}
|
||||
rm -f cmd/$(CMD)/$(CMD) && cd cmd/$(CMD)/ && go build ./...
|
||||
mv cmd/$(CMD)/$(CMD) .
|
||||
|
||||
test:
|
||||
go test -v ./...
|
||||
test: test-internal-testify
|
||||
echo "making tests ${SRC_PKGS}"
|
||||
go test -v ${SRC_PKGS}
|
||||
|
||||
check:
|
||||
go vet ./...
|
||||
@echo "golint ./..."
|
||||
@lint=`golint ./...`; \
|
||||
go vet ${SRC_PKGS}
|
||||
@echo "golint ${SRC_PKGS}"
|
||||
@lint=`golint ${SRC_PKGS}`; \
|
||||
lint=`echo "$$lint" | grep -v "astnodetype_string.go" | grep -v "toktype_string.go"`; \
|
||||
echo "$$lint"; \
|
||||
if [ "$$lint" != "" ]; then exit 1; fi
|
||||
@ -42,3 +45,7 @@ bench:
|
||||
|
||||
pprof-cpu:
|
||||
go tool pprof ./go-jmespath.test ./cpu.out
|
||||
|
||||
test-internal-testify:
|
||||
cd internal/testify && go test ./...
|
||||
|
||||
|
82
vendor/github.com/jmespath/go-jmespath/README.md
generated
vendored
82
vendor/github.com/jmespath/go-jmespath/README.md
generated
vendored
@ -4,4 +4,84 @@
|
||||
|
||||
|
||||
|
||||
See http://jmespath.org for more info.
|
||||
go-jmespath is a GO implementation of JMESPath,
|
||||
which is a query language for JSON. It will take a JSON
|
||||
document and transform it into another JSON document
|
||||
through a JMESPath expression.
|
||||
|
||||
Using go-jmespath is really easy. There's a single function
|
||||
you use, `jmespath.search`:
|
||||
|
||||
|
||||
```go
|
||||
> import "github.com/jmespath/go-jmespath"
|
||||
>
|
||||
> var jsondata = []byte(`{"foo": {"bar": {"baz": [0, 1, 2, 3, 4]}}}`) // your data
|
||||
> var data interface{}
|
||||
> err := json.Unmarshal(jsondata, &data)
|
||||
> result, err := jmespath.Search("foo.bar.baz[2]", data)
|
||||
result = 2
|
||||
```
|
||||
|
||||
In the example we gave the ``search`` function input data of
|
||||
`{"foo": {"bar": {"baz": [0, 1, 2, 3, 4]}}}` as well as the JMESPath
|
||||
expression `foo.bar.baz[2]`, and the `search` function evaluated
|
||||
the expression against the input data to produce the result ``2``.
|
||||
|
||||
The JMESPath language can do a lot more than select an element
|
||||
from a list. Here are a few more examples:
|
||||
|
||||
```go
|
||||
> var jsondata = []byte(`{"foo": {"bar": {"baz": [0, 1, 2, 3, 4]}}}`) // your data
|
||||
> var data interface{}
|
||||
> err := json.Unmarshal(jsondata, &data)
|
||||
> result, err := jmespath.search("foo.bar", data)
|
||||
result = { "baz": [ 0, 1, 2, 3, 4 ] }
|
||||
|
||||
|
||||
> var jsondata = []byte(`{"foo": [{"first": "a", "last": "b"},
|
||||
{"first": "c", "last": "d"}]}`) // your data
|
||||
> var data interface{}
|
||||
> err := json.Unmarshal(jsondata, &data)
|
||||
> result, err := jmespath.search({"foo[*].first", data)
|
||||
result [ 'a', 'c' ]
|
||||
|
||||
|
||||
> var jsondata = []byte(`{"foo": [{"age": 20}, {"age": 25},
|
||||
{"age": 30}, {"age": 35},
|
||||
{"age": 40}]}`) // your data
|
||||
> var data interface{}
|
||||
> err := json.Unmarshal(jsondata, &data)
|
||||
> result, err := jmespath.search("foo[?age > `30`]")
|
||||
result = [ { age: 35 }, { age: 40 } ]
|
||||
```
|
||||
|
||||
You can also pre-compile your query. This is usefull if
|
||||
you are going to run multiple searches with it:
|
||||
|
||||
```go
|
||||
> var jsondata = []byte(`{"foo": "bar"}`)
|
||||
> var data interface{}
|
||||
> err := json.Unmarshal(jsondata, &data)
|
||||
> precompiled, err := Compile("foo")
|
||||
> if err != nil{
|
||||
> // ... handle the error
|
||||
> }
|
||||
> result, err := precompiled.Search(data)
|
||||
result = "bar"
|
||||
```
|
||||
|
||||
## More Resources
|
||||
|
||||
The example above only show a small amount of what
|
||||
a JMESPath expression can do. If you want to take a
|
||||
tour of the language, the *best* place to go is the
|
||||
[JMESPath Tutorial](http://jmespath.org/tutorial.html).
|
||||
|
||||
One of the best things about JMESPath is that it is
|
||||
implemented in many different programming languages including
|
||||
python, ruby, php, lua, etc. To see a complete list of libraries,
|
||||
check out the [JMESPath libraries page](http://jmespath.org/libraries.html).
|
||||
|
||||
And finally, the full JMESPath specification can be found
|
||||
on the [JMESPath site](http://jmespath.org/specification.html).
|
||||
|
2
vendor/github.com/jmespath/go-jmespath/api.go
generated
vendored
2
vendor/github.com/jmespath/go-jmespath/api.go
generated
vendored
@ -2,7 +2,7 @@ package jmespath
|
||||
|
||||
import "strconv"
|
||||
|
||||
// JMESPath is the epresentation of a compiled JMES path query. A JMESPath is
|
||||
// JMESPath is the representation of a compiled JMES path query. A JMESPath is
|
||||
// safe for concurrent use by multiple goroutines.
|
||||
type JMESPath struct {
|
||||
ast ASTNode
|
||||
|
5
vendor/github.com/jmespath/go-jmespath/go.mod
generated
vendored
Normal file
5
vendor/github.com/jmespath/go-jmespath/go.mod
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
module github.com/jmespath/go-jmespath
|
||||
|
||||
go 1.14
|
||||
|
||||
require github.com/jmespath/go-jmespath/internal/testify v1.5.1
|
11
vendor/github.com/jmespath/go-jmespath/go.sum
generated
vendored
Normal file
11
vendor/github.com/jmespath/go-jmespath/go.sum
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
|
||||
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
|
||||
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
2
vendor/github.com/jmespath/go-jmespath/parser.go
generated
vendored
2
vendor/github.com/jmespath/go-jmespath/parser.go
generated
vendored
@ -137,7 +137,7 @@ func (p *Parser) Parse(expression string) (ASTNode, error) {
|
||||
}
|
||||
if p.current() != tEOF {
|
||||
return ASTNode{}, p.syntaxError(fmt.Sprintf(
|
||||
"Unexpected token at the end of the expresssion: %s", p.current()))
|
||||
"Unexpected token at the end of the expression: %s", p.current()))
|
||||
}
|
||||
return parsed, nil
|
||||
}
|
||||
|
11
vendor/modules.txt
vendored
11
vendor/modules.txt
vendored
@ -129,9 +129,9 @@ github.com/asaskevich/govalidator
|
||||
# github.com/auth0/go-jwt-middleware v0.0.0-20170425171159-5493cabe49f7 => github.com/auth0/go-jwt-middleware v0.0.0-20170425171159-5493cabe49f7
|
||||
## explicit
|
||||
# github.com/auth0/go-jwt-middleware => github.com/auth0/go-jwt-middleware v0.0.0-20170425171159-5493cabe49f7
|
||||
# github.com/aws/aws-sdk-go v1.28.2 => github.com/aws/aws-sdk-go v1.28.2
|
||||
# github.com/aws/aws-sdk-go v1.35.5 => github.com/aws/aws-sdk-go v1.35.5
|
||||
## explicit
|
||||
# github.com/aws/aws-sdk-go => github.com/aws/aws-sdk-go v1.28.2
|
||||
# github.com/aws/aws-sdk-go => github.com/aws/aws-sdk-go v1.35.5
|
||||
github.com/aws/aws-sdk-go/aws
|
||||
github.com/aws/aws-sdk-go/aws/awserr
|
||||
github.com/aws/aws-sdk-go/aws/awsutil
|
||||
@ -150,6 +150,7 @@ github.com/aws/aws-sdk-go/aws/endpoints
|
||||
github.com/aws/aws-sdk-go/aws/request
|
||||
github.com/aws/aws-sdk-go/aws/session
|
||||
github.com/aws/aws-sdk-go/aws/signer/v4
|
||||
github.com/aws/aws-sdk-go/internal/context
|
||||
github.com/aws/aws-sdk-go/internal/ini
|
||||
github.com/aws/aws-sdk-go/internal/sdkio
|
||||
github.com/aws/aws-sdk-go/internal/sdkmath
|
||||
@ -157,6 +158,7 @@ github.com/aws/aws-sdk-go/internal/sdkrand
|
||||
github.com/aws/aws-sdk-go/internal/sdkuri
|
||||
github.com/aws/aws-sdk-go/internal/shareddefaults
|
||||
github.com/aws/aws-sdk-go/internal/strings
|
||||
github.com/aws/aws-sdk-go/internal/sync/singleflight
|
||||
github.com/aws/aws-sdk-go/private/protocol
|
||||
github.com/aws/aws-sdk-go/private/protocol/ec2query
|
||||
github.com/aws/aws-sdk-go/private/protocol/json/jsonutil
|
||||
@ -690,9 +692,10 @@ github.com/inconshreveable/mousetrap
|
||||
github.com/ishidawataru/sctp
|
||||
# github.com/ishidawataru/sctp => github.com/ishidawataru/sctp v0.0.0-20190723014705-7c296d48a2b5
|
||||
# github.com/jimstudt/http-authentication => github.com/jimstudt/http-authentication v0.0.0-20140401203705-3eca13d6893a
|
||||
# github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af => github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af
|
||||
# github.com/jmespath/go-jmespath v0.4.0 => github.com/jmespath/go-jmespath v0.4.0
|
||||
github.com/jmespath/go-jmespath
|
||||
# github.com/jmespath/go-jmespath => github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af
|
||||
# github.com/jmespath/go-jmespath => github.com/jmespath/go-jmespath v0.4.0
|
||||
# github.com/jmespath/go-jmespath/internal/testify => github.com/jmespath/go-jmespath/internal/testify v1.5.1
|
||||
# github.com/jonboulle/clockwork v0.1.0 => github.com/jonboulle/clockwork v0.1.0
|
||||
github.com/jonboulle/clockwork
|
||||
# github.com/jonboulle/clockwork => github.com/jonboulle/clockwork v0.1.0
|
||||
|
Loading…
Reference in New Issue
Block a user