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/PuerkitoBio/purell v1.1.1
|
||||||
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e
|
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e
|
||||||
github.com/auth0/go-jwt-middleware v0.0.0-20170425171159-5493cabe49f7 // indirect
|
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/blang/semver v3.5.0+incompatible
|
||||||
github.com/boltdb/bolt v1.3.1 // indirect
|
github.com/boltdb/bolt v1.3.1 // indirect
|
||||||
github.com/caddyserver/caddy v1.0.3
|
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/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/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/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/beorn7/perks => github.com/beorn7/perks v1.0.1
|
||||||
github.com/bgentry/speakeasy => github.com/bgentry/speakeasy v0.1.0
|
github.com/bgentry/speakeasy => github.com/bgentry/speakeasy v0.1.0
|
||||||
github.com/bifurcation/mint => github.com/bifurcation/mint v0.0.0-20180715133206-93c51c6ce115
|
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/inconshreveable/mousetrap => github.com/inconshreveable/mousetrap v1.0.0
|
||||||
github.com/ishidawataru/sctp => github.com/ishidawataru/sctp v0.0.0-20190723014705-7c296d48a2b5
|
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/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/jonboulle/clockwork => github.com/jonboulle/clockwork v0.1.0
|
||||||
github.com/json-iterator/go => github.com/json-iterator/go v1.1.10
|
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
|
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/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 h1:irR1cO6eek3n5uquIVaRAsQmZnlsfPuHNz31cXo4eyk=
|
||||||
github.com/auth0/go-jwt-middleware v0.0.0-20170425171159-5493cabe49f7/go.mod h1:LWMyo4iOLWXHGdBki7NIht1kHru/0wM179h+d3g8ATM=
|
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.35.5 h1:doSEOxC0UkirPcle20Rc+1kAhJ4Ip+GSEeZ3nKl7Qlk=
|
||||||
github.com/aws/aws-sdk-go v1.28.2/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
|
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 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
|
||||||
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
|
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
|
||||||
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
|
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 h1:qPmlgoeRS18y2dT+iAH5vEKZgIqgiPi2Y8UCu/b7Aq8=
|
||||||
github.com/ishidawataru/sctp v0.0.0-20190723014705-7c296d48a2b5/go.mod h1:DM4VvS+hD/kDi1U1QsX2fnZowwBhqD0Dk3bRPKF/Oc8=
|
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/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.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
|
||||||
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
|
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 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo=
|
||||||
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
|
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
|
||||||
github.com/json-iterator/go v1.1.10 h1:Kz6Cvnvv2wGdaG/V8yMvfkmNiXq9Ya2KUv4rouJJr68=
|
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/to v0.2.0
|
||||||
github.com/Azure/go-autorest/autorest/validation v0.1.0 // indirect
|
github.com/Azure/go-autorest/autorest/validation v0.1.0 // indirect
|
||||||
github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20200415212048-7901bc822317
|
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/dnaeon/go-vcr v1.0.1 // indirect
|
||||||
github.com/golang/mock v1.3.1
|
github.com/golang/mock v1.3.1
|
||||||
github.com/google/go-cmp v0.4.0
|
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/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-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
||||||
github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/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.35.5 h1:doSEOxC0UkirPcle20Rc+1kAhJ4Ip+GSEeZ3nKl7Qlk=
|
||||||
github.com/aws/aws-sdk-go v1.28.2/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
|
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 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.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
|
||||||
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
|
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 h1:JboBksRwiiAJWvIYJVo46AfV+IAIKZpfrSzVKj42R4Q=
|
||||||
github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
|
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/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.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
|
||||||
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
|
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/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.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
||||||
github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
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-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-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-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 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-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
|
||||||
golang.org/x/net v0.0.0-20200707034311-ab3426394381 h1:VXak5I6aEWmAXeQjA+QSZzlgNrpq9mjcfDemuexIKsU=
|
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/armon/circbuf:all-srcs",
|
||||||
"//vendor/github.com/asaskevich/govalidator: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/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/ini:all-srcs",
|
||||||
"//vendor/github.com/aws/aws-sdk-go/internal/sdkio:all-srcs",
|
"//vendor/github.com/aws/aws-sdk-go/internal/sdkio:all-srcs",
|
||||||
"//vendor/github.com/aws/aws-sdk-go/internal/sdkmath: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/sdkuri:all-srcs",
|
||||||
"//vendor/github.com/aws/aws-sdk-go/internal/shareddefaults: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/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/private/protocol:all-srcs",
|
||||||
"//vendor/github.com/aws/aws-sdk-go/service/autoscaling:all-srcs",
|
"//vendor/github.com/aws/aws-sdk-go/service/autoscaling:all-srcs",
|
||||||
"//vendor/github.com/aws/aws-sdk-go/service/ec2: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/awserr:go_default_library",
|
||||||
"//vendor/github.com/aws/aws-sdk-go/aws/credentials: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/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",
|
"//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)
|
// An optional endpoint URL (hostname only or fully qualified URI)
|
||||||
// that overrides the default generated endpoint for a client. Set this
|
// 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
|
// Note: You must still provide a `Region` value when specifying an
|
||||||
// endpoint for a client.
|
// endpoint for a client.
|
||||||
@ -138,7 +138,7 @@ type Config struct {
|
|||||||
// `ExpectContinueTimeout` for information on adjusting the continue wait
|
// `ExpectContinueTimeout` for information on adjusting the continue wait
|
||||||
// timeout. https://golang.org/pkg/net/http/#Transport
|
// 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.
|
// with proxies or third party S3 compatible services.
|
||||||
S3Disable100Continue *bool
|
S3Disable100Continue *bool
|
||||||
|
|
||||||
@ -183,7 +183,7 @@ type Config struct {
|
|||||||
//
|
//
|
||||||
// Example:
|
// Example:
|
||||||
// sess := session.Must(session.NewSession(aws.NewConfig()
|
// sess := session.Must(session.NewSession(aws.NewConfig()
|
||||||
// .WithEC2MetadataDiableTimeoutOverride(true)))
|
// .WithEC2MetadataDisableTimeoutOverride(true)))
|
||||||
//
|
//
|
||||||
// svc := s3.New(sess)
|
// svc := s3.New(sess)
|
||||||
//
|
//
|
||||||
@ -194,7 +194,7 @@ type Config struct {
|
|||||||
// both IPv4 and IPv6 addressing.
|
// both IPv4 and IPv6 addressing.
|
||||||
//
|
//
|
||||||
// Setting this for a service which does not support dual stack will fail
|
// 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
|
// as it will apply to all service clients created with the session. Even
|
||||||
// services which don't support dual stack endpoints.
|
// services which don't support dual stack endpoints.
|
||||||
//
|
//
|
||||||
@ -238,6 +238,7 @@ type Config struct {
|
|||||||
|
|
||||||
// EnableEndpointDiscovery will allow for endpoint discovery on operations that
|
// EnableEndpointDiscovery will allow for endpoint discovery on operations that
|
||||||
// have the definition in its model. By default, endpoint discovery is off.
|
// 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:
|
// Example:
|
||||||
// sess := session.Must(session.NewSession(&aws.Config{
|
// 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
|
package aws
|
||||||
|
|
||||||
import "time"
|
import (
|
||||||
|
"github.com/aws/aws-sdk-go/internal/context"
|
||||||
// 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)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// BackgroundContext returns a context that will never be canceled, has no
|
// 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.
|
// See https://golang.org/pkg/context for more information on Contexts.
|
||||||
func BackgroundContext() Context {
|
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) == "" {
|
if r.ClientInfo.SigningRegion == "" && aws.StringValue(r.Config.Region) == "" {
|
||||||
r.Error = aws.ErrMissingRegion
|
r.Error = aws.ErrMissingRegion
|
||||||
} else if r.ClientInfo.Endpoint == "" {
|
} 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
|
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",
|
name = "go_default_library",
|
||||||
srcs = [
|
srcs = [
|
||||||
"chain_provider.go",
|
"chain_provider.go",
|
||||||
|
"context_background_go1.5.go",
|
||||||
|
"context_background_go1.7.go",
|
||||||
|
"context_go1.5.go",
|
||||||
|
"context_go1.9.go",
|
||||||
"credentials.go",
|
"credentials.go",
|
||||||
"env_provider.go",
|
"env_provider.go",
|
||||||
"shared_credentials_provider.go",
|
"shared_credentials_provider.go",
|
||||||
@ -14,8 +18,10 @@ go_library(
|
|||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
"//vendor/github.com/aws/aws-sdk-go/aws/awserr:go_default_library",
|
"//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/ini:go_default_library",
|
||||||
"//vendor/github.com/aws/aws-sdk-go/internal/shareddefaults: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 (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"sync"
|
"sync/atomic"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
"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
|
// AnonymousCredentials is an empty Credential object that can be used as
|
||||||
@ -106,6 +107,13 @@ type Provider interface {
|
|||||||
IsExpired() bool
|
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
|
// An Expirer is an interface that Providers can implement to expose the expiration
|
||||||
// time, if known. If the Provider cannot accurately provide this info,
|
// time, if known. If the Provider cannot accurately provide this info,
|
||||||
// it should not implement this interface.
|
// 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
|
// the expiration time given to ensure no requests are made with expired
|
||||||
// tokens.
|
// tokens.
|
||||||
func (e *Expiry) SetExpiration(expiration time.Time, window time.Duration) {
|
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 {
|
if window > 0 {
|
||||||
e.expiration = e.expiration.Add(-window)
|
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
|
// first instance of the credentials Value. All calls to Get() after that
|
||||||
// will return the cached credentials Value until IsExpired() returns true.
|
// will return the cached credentials Value until IsExpired() returns true.
|
||||||
type Credentials struct {
|
type Credentials struct {
|
||||||
creds Value
|
creds atomic.Value
|
||||||
forceRefresh bool
|
sf singleflight.Group
|
||||||
|
|
||||||
m sync.RWMutex
|
|
||||||
|
|
||||||
provider Provider
|
provider Provider
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewCredentials returns a pointer to a new Credentials with the provider set.
|
// NewCredentials returns a pointer to a new Credentials with the provider set.
|
||||||
func NewCredentials(provider Provider) *Credentials {
|
func NewCredentials(provider Provider) *Credentials {
|
||||||
return &Credentials{
|
c := &Credentials{
|
||||||
provider: provider,
|
provider: provider,
|
||||||
forceRefresh: true,
|
|
||||||
}
|
}
|
||||||
|
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
|
// 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
|
// If Credentials.Expire() was called the credentials Value will be force
|
||||||
// expired, and the next call to Get() will cause them to be refreshed.
|
// expired, and the next call to Get() will cause them to be refreshed.
|
||||||
func (c *Credentials) Get() (Value, error) {
|
func (c *Credentials) Get() (Value, error) {
|
||||||
// Check the cached credentials first with just the read lock.
|
return c.GetWithContext(backgroundContext())
|
||||||
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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Expire expires the credentials and forces them to be retrieved on the
|
// 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
|
// This will override the Provider's expired state, and force Credentials
|
||||||
// to call the Provider's Retrieve().
|
// to call the Provider's Retrieve().
|
||||||
func (c *Credentials) Expire() {
|
func (c *Credentials) Expire() {
|
||||||
c.m.Lock()
|
c.creds.Store(Value{})
|
||||||
defer c.m.Unlock()
|
|
||||||
|
|
||||||
c.forceRefresh = true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// IsExpired returns if the credentials are no longer valid, and need
|
// 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
|
// If the Credentials were forced to be expired with Expire() this will
|
||||||
// reflect that override.
|
// reflect that override.
|
||||||
func (c *Credentials) IsExpired() bool {
|
func (c *Credentials) IsExpired() bool {
|
||||||
c.m.RLock()
|
return c.isExpired(c.creds.Load())
|
||||||
defer c.m.RUnlock()
|
|
||||||
|
|
||||||
return c.isExpired()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// isExpired helper method wrapping the definition of expired credentials.
|
// isExpired helper method wrapping the definition of expired credentials.
|
||||||
func (c *Credentials) isExpired() bool {
|
func (c *Credentials) isExpired(creds interface{}) bool {
|
||||||
return c.forceRefresh || c.provider.IsExpired()
|
return creds == nil || creds.(Value) == Value{} || c.provider.IsExpired()
|
||||||
}
|
}
|
||||||
|
|
||||||
// ExpiresAt provides access to the functionality of the Expirer interface of
|
// ExpiresAt provides access to the functionality of the Expirer interface of
|
||||||
// the underlying Provider, if it supports that interface. Otherwise, it returns
|
// the underlying Provider, if it supports that interface. Otherwise, it returns
|
||||||
// an error.
|
// an error.
|
||||||
func (c *Credentials) ExpiresAt() (time.Time, error) {
|
func (c *Credentials) ExpiresAt() (time.Time, error) {
|
||||||
c.m.RLock()
|
|
||||||
defer c.m.RUnlock()
|
|
||||||
|
|
||||||
expirer, ok := c.provider.(Expirer)
|
expirer, ok := c.provider.(Expirer)
|
||||||
if !ok {
|
if !ok {
|
||||||
return time.Time{}, awserr.New("ProviderNotExpirer",
|
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)
|
nil)
|
||||||
}
|
}
|
||||||
if c.forceRefresh {
|
if c.creds.Load().(Value) == (Value{}) {
|
||||||
// set expiration time to the distant past
|
// set expiration time to the distant past
|
||||||
return time.Time{}, nil
|
return time.Time{}, nil
|
||||||
}
|
}
|
||||||
return expirer.ExpiresAt(), 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",
|
importpath = "github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
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/awserr:go_default_library",
|
||||||
"//vendor/github.com/aws/aws-sdk-go/aws/client: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/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"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/aws/aws-sdk-go/aws"
|
||||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||||
"github.com/aws/aws-sdk-go/aws/client"
|
"github.com/aws/aws-sdk-go/aws/client"
|
||||||
"github.com/aws/aws-sdk-go/aws/credentials"
|
"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
|
// Error will be returned if the request fails, or unable to extract
|
||||||
// the desired credentials.
|
// the desired credentials.
|
||||||
func (m *EC2RoleProvider) Retrieve() (credentials.Value, error) {
|
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 {
|
if err != nil {
|
||||||
return credentials.Value{ProviderName: ProviderName}, err
|
return credentials.Value{ProviderName: ProviderName}, err
|
||||||
}
|
}
|
||||||
@ -97,7 +105,7 @@ func (m *EC2RoleProvider) Retrieve() (credentials.Value, error) {
|
|||||||
}
|
}
|
||||||
credsName := credsList[0]
|
credsName := credsList[0]
|
||||||
|
|
||||||
roleCreds, err := requestCred(m.Client, credsName)
|
roleCreds, err := requestCred(ctx, m.Client, credsName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return credentials.Value{ProviderName: ProviderName}, err
|
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.
|
// 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
|
// If there are no credentials, or there is an error making or receiving the request
|
||||||
func requestCredList(client *ec2metadata.EC2Metadata) ([]string, error) {
|
func requestCredList(ctx aws.Context, client *ec2metadata.EC2Metadata) ([]string, error) {
|
||||||
resp, err := client.GetMetadata(iamSecurityCredsPath)
|
resp, err := client.GetMetadataWithContext(ctx, iamSecurityCredsPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, awserr.New("EC2RoleRequestError", "no EC2 instance role found", err)
|
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
|
// If the credentials cannot be found, or there is an error reading the response
|
||||||
// and error will be returned.
|
// and error will be returned.
|
||||||
func requestCred(client *ec2metadata.EC2Metadata, credsName string) (ec2RoleCredRespBody, error) {
|
func requestCred(ctx aws.Context, client *ec2metadata.EC2Metadata, credsName string) (ec2RoleCredRespBody, error) {
|
||||||
resp, err := client.GetMetadata(sdkuri.PathJoin(iamSecurityCredsPath, credsName))
|
resp, err := client.GetMetadataWithContext(ctx, sdkuri.PathJoin(iamSecurityCredsPath, credsName))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return ec2RoleCredRespBody{},
|
return ec2RoleCredRespBody{},
|
||||||
awserr.New("EC2RoleRequestError",
|
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
|
// Retrieve will attempt to request the credentials from the endpoint the Provider
|
||||||
// was configured for. And error will be returned if the retrieval fails.
|
// was configured for. And error will be returned if the retrieval fails.
|
||||||
func (p *Provider) Retrieve() (credentials.Value, error) {
|
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 {
|
if err != nil {
|
||||||
return credentials.Value{ProviderName: ProviderName},
|
return credentials.Value{ProviderName: ProviderName},
|
||||||
awserr.New("CredentialsEndpointError", "failed to load credentials", err)
|
awserr.New("CredentialsEndpointError", "failed to load credentials", err)
|
||||||
@ -148,7 +154,7 @@ type errorOutput struct {
|
|||||||
Message string `json:"message"`
|
Message string `json:"message"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *Provider) getCredentials() (*getCredentialsOutput, error) {
|
func (p *Provider) getCredentials(ctx aws.Context) (*getCredentialsOutput, error) {
|
||||||
op := &request.Operation{
|
op := &request.Operation{
|
||||||
Name: "GetCredentials",
|
Name: "GetCredentials",
|
||||||
HTTPMethod: "GET",
|
HTTPMethod: "GET",
|
||||||
@ -156,6 +162,7 @@ func (p *Provider) getCredentials() (*getCredentialsOutput, error) {
|
|||||||
|
|
||||||
out := &getCredentialsOutput{}
|
out := &getCredentialsOutput{}
|
||||||
req := p.Client.NewRequest(op, nil, out)
|
req := p.Client.NewRequest(op, nil, out)
|
||||||
|
req.SetContext(ctx)
|
||||||
req.HTTPRequest.Header.Set("Accept", "application/json")
|
req.HTTPRequest.Header.Set("Accept", "application/json")
|
||||||
if authToken := p.AuthorizationToken; len(authToken) != 0 {
|
if authToken := p.AuthorizationToken; len(authToken) != 0 {
|
||||||
req.HTTPRequest.Header.Set("Authorization", authToken)
|
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)
|
ErrSharedCredentialsHomeNotFound = awserr.New("UserHomeNotFound", "user home directory not found.", nil)
|
||||||
)
|
)
|
||||||
|
|
||||||
// A SharedCredentialsProvider retrieves credentials from the current user's home
|
// A SharedCredentialsProvider retrieves access key pair (access key ID,
|
||||||
// directory, and keeps track if those credentials are expired.
|
// 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
|
// Profile ini file example: $HOME/.aws/credentials
|
||||||
type SharedCredentialsProvider struct {
|
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
|
// 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 {
|
func NewStaticCredentials(id, secret, token string) *Credentials {
|
||||||
return NewCredentials(&StaticProvider{Value: Value{
|
return NewCredentials(&StaticProvider{Value: Value{
|
||||||
AccessKeyID: id,
|
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/awserr:go_default_library",
|
||||||
"//vendor/github.com/aws/aws-sdk-go/aws/client: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/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/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:go_default_library",
|
||||||
"//vendor/github.com/aws/aws-sdk-go/service/sts/stsiface: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/awserr"
|
||||||
"github.com/aws/aws-sdk-go/aws/client"
|
"github.com/aws/aws-sdk-go/aws/client"
|
||||||
"github.com/aws/aws-sdk-go/aws/credentials"
|
"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/internal/sdkrand"
|
||||||
"github.com/aws/aws-sdk-go/service/sts"
|
"github.com/aws/aws-sdk-go/service/sts"
|
||||||
)
|
)
|
||||||
@ -118,6 +119,10 @@ type AssumeRoler interface {
|
|||||||
AssumeRole(input *sts.AssumeRoleInput) (*sts.AssumeRoleOutput, error)
|
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
|
// DefaultDuration is the default amount of time in minutes that the credentials
|
||||||
// will be valid for.
|
// will be valid for.
|
||||||
var DefaultDuration = time.Duration(15) * time.Minute
|
var DefaultDuration = time.Duration(15) * time.Minute
|
||||||
@ -164,6 +169,29 @@ type AssumeRoleProvider struct {
|
|||||||
// size.
|
// size.
|
||||||
Policy *string
|
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
|
// 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
|
// 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.
|
// 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.
|
// Retrieve generates a new set of temporary credentials using STS.
|
||||||
func (p *AssumeRoleProvider) Retrieve() (credentials.Value, error) {
|
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.
|
// Apply defaults where parameters are not set.
|
||||||
if p.RoleSessionName == "" {
|
if p.RoleSessionName == "" {
|
||||||
// Try to work out a role name that will hopefully end up unique.
|
// 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),
|
RoleSessionName: aws.String(p.RoleSessionName),
|
||||||
ExternalId: p.ExternalID,
|
ExternalId: p.ExternalID,
|
||||||
Tags: p.Tags,
|
Tags: p.Tags,
|
||||||
|
PolicyArns: p.PolicyArns,
|
||||||
TransitiveTagKeys: p.TransitiveTagKeys,
|
TransitiveTagKeys: p.TransitiveTagKeys,
|
||||||
}
|
}
|
||||||
if p.Policy != nil {
|
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 {
|
if err != nil {
|
||||||
return credentials.Value{ProviderName: ProviderName}, err
|
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.
|
// compare test values.
|
||||||
var now = time.Now
|
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
|
// WebIdentityRoleProvider is used to retrieve credentials using
|
||||||
// an OIDC token.
|
// an OIDC token.
|
||||||
type WebIdentityRoleProvider struct {
|
type WebIdentityRoleProvider struct {
|
||||||
credentials.Expiry
|
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
|
ExpiryWindow time.Duration
|
||||||
|
|
||||||
tokenFilePath string
|
client stsiface.STSAPI
|
||||||
|
|
||||||
|
tokenFetcher TokenFetcher
|
||||||
roleARN string
|
roleARN string
|
||||||
roleSessionName string
|
roleSessionName string
|
||||||
}
|
}
|
||||||
@ -52,9 +83,15 @@ func NewWebIdentityCredentials(c client.ConfigProvider, roleARN, roleSessionName
|
|||||||
// NewWebIdentityRoleProvider will return a new WebIdentityRoleProvider with the
|
// NewWebIdentityRoleProvider will return a new WebIdentityRoleProvider with the
|
||||||
// provided stsiface.STSAPI
|
// provided stsiface.STSAPI
|
||||||
func NewWebIdentityRoleProvider(svc stsiface.STSAPI, roleARN, roleSessionName, path string) *WebIdentityRoleProvider {
|
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{
|
return &WebIdentityRoleProvider{
|
||||||
client: svc,
|
client: svc,
|
||||||
tokenFilePath: path,
|
tokenFetcher: tokenFetcher,
|
||||||
roleARN: roleARN,
|
roleARN: roleARN,
|
||||||
roleSessionName: roleSessionName,
|
roleSessionName: roleSessionName,
|
||||||
}
|
}
|
||||||
@ -64,10 +101,16 @@ func NewWebIdentityRoleProvider(svc stsiface.STSAPI, roleARN, roleSessionName, p
|
|||||||
// 'WebIdentityTokenFilePath' specified destination and if that is empty an
|
// 'WebIdentityTokenFilePath' specified destination and if that is empty an
|
||||||
// error will be returned.
|
// error will be returned.
|
||||||
func (p *WebIdentityRoleProvider) Retrieve() (credentials.Value, error) {
|
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 {
|
if err != nil {
|
||||||
errMsg := fmt.Sprintf("unable to read file at %s", p.tokenFilePath)
|
return credentials.Value{}, awserr.New(ErrCodeWebIdentity, "failed fetching WebIdentity token: ", err)
|
||||||
return credentials.Value{}, awserr.New(ErrCodeWebIdentity, errMsg, err)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sessionName := p.roleSessionName
|
sessionName := p.roleSessionName
|
||||||
@ -76,11 +119,22 @@ func (p *WebIdentityRoleProvider) Retrieve() (credentials.Value, error) {
|
|||||||
// uses unix time in nanoseconds to uniquely identify sessions.
|
// uses unix time in nanoseconds to uniquely identify sessions.
|
||||||
sessionName = strconv.FormatInt(now().UnixNano(), 10)
|
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{
|
req, resp := p.client.AssumeRoleWithWebIdentityRequest(&sts.AssumeRoleWithWebIdentityInput{
|
||||||
|
PolicyArns: p.PolicyArns,
|
||||||
RoleArn: &p.roleARN,
|
RoleArn: &p.roleARN,
|
||||||
RoleSessionName: &sessionName,
|
RoleSessionName: &sessionName,
|
||||||
WebIdentityToken: aws.String(string(b)),
|
WebIdentityToken: aws.String(string(b)),
|
||||||
|
DurationSeconds: duration,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
req.SetContext(ctx)
|
||||||
|
|
||||||
// InvalidIdentityToken error is a temporary error that can occur
|
// InvalidIdentityToken error is a temporary error that can occur
|
||||||
// when assuming an Role with a JWT web identity token.
|
// when assuming an Role with a JWT web identity token.
|
||||||
req.RetryErrorCodes = append(req.RetryErrorCodes, sts.ErrCodeInvalidIdentityTokenException)
|
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"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/aws/aws-sdk-go/aws"
|
||||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||||
"github.com/aws/aws-sdk-go/aws/request"
|
"github.com/aws/aws-sdk-go/aws/request"
|
||||||
"github.com/aws/aws-sdk-go/internal/sdkuri"
|
"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,
|
// getToken uses the duration to return a token for EC2 metadata service,
|
||||||
// or an error if the request failed.
|
// 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{
|
op := &request.Operation{
|
||||||
Name: "GetToken",
|
Name: "GetToken",
|
||||||
HTTPMethod: "PUT",
|
HTTPMethod: "PUT",
|
||||||
HTTPPath: "/api/token",
|
HTTPPath: "/latest/api/token",
|
||||||
}
|
}
|
||||||
|
|
||||||
var output tokenOutput
|
var output tokenOutput
|
||||||
req := c.NewRequest(op, nil, &output)
|
req := c.NewRequest(op, nil, &output)
|
||||||
|
req.SetContext(ctx)
|
||||||
|
|
||||||
// remove the fetch token handler from the request handlers to avoid infinite recursion
|
// remove the fetch token handler from the request handlers to avoid infinite recursion
|
||||||
req.Handlers.Sign.RemoveByName(fetchTokenHandlerName)
|
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
|
// instance metadata service. The content will be returned as a string, or
|
||||||
// error if the request failed.
|
// error if the request failed.
|
||||||
func (c *EC2Metadata) GetMetadata(p string) (string, error) {
|
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{
|
op := &request.Operation{
|
||||||
Name: "GetMetadata",
|
Name: "GetMetadata",
|
||||||
HTTPMethod: "GET",
|
HTTPMethod: "GET",
|
||||||
HTTPPath: sdkuri.PathJoin("/meta-data", p),
|
HTTPPath: sdkuri.PathJoin("/latest/meta-data", p),
|
||||||
}
|
}
|
||||||
output := &metadataOutput{}
|
output := &metadataOutput{}
|
||||||
|
|
||||||
req := c.NewRequest(op, nil, output)
|
req := c.NewRequest(op, nil, output)
|
||||||
|
|
||||||
|
req.SetContext(ctx)
|
||||||
|
|
||||||
err := req.Send()
|
err := req.Send()
|
||||||
return output.Content, err
|
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
|
// there is no user-data setup for the EC2 instance a "NotFoundError" error
|
||||||
// code will be returned.
|
// code will be returned.
|
||||||
func (c *EC2Metadata) GetUserData() (string, error) {
|
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{
|
op := &request.Operation{
|
||||||
Name: "GetUserData",
|
Name: "GetUserData",
|
||||||
HTTPMethod: "GET",
|
HTTPMethod: "GET",
|
||||||
HTTPPath: "/user-data",
|
HTTPPath: "/latest/user-data",
|
||||||
}
|
}
|
||||||
|
|
||||||
output := &metadataOutput{}
|
output := &metadataOutput{}
|
||||||
req := c.NewRequest(op, nil, output)
|
req := c.NewRequest(op, nil, output)
|
||||||
|
req.SetContext(ctx)
|
||||||
|
|
||||||
err := req.Send()
|
err := req.Send()
|
||||||
return output.Content, err
|
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
|
// instance metadata service for dynamic data. The content will be returned
|
||||||
// as a string, or error if the request failed.
|
// as a string, or error if the request failed.
|
||||||
func (c *EC2Metadata) GetDynamicData(p string) (string, error) {
|
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{
|
op := &request.Operation{
|
||||||
Name: "GetDynamicData",
|
Name: "GetDynamicData",
|
||||||
HTTPMethod: "GET",
|
HTTPMethod: "GET",
|
||||||
HTTPPath: sdkuri.PathJoin("/dynamic", p),
|
HTTPPath: sdkuri.PathJoin("/latest/dynamic", p),
|
||||||
}
|
}
|
||||||
|
|
||||||
output := &metadataOutput{}
|
output := &metadataOutput{}
|
||||||
req := c.NewRequest(op, nil, output)
|
req := c.NewRequest(op, nil, output)
|
||||||
|
req.SetContext(ctx)
|
||||||
|
|
||||||
err := req.Send()
|
err := req.Send()
|
||||||
return output.Content, err
|
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
|
// instance. Error is returned if the request fails or is unable to parse
|
||||||
// the response.
|
// the response.
|
||||||
func (c *EC2Metadata) GetInstanceIdentityDocument() (EC2InstanceIdentityDocument, error) {
|
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 {
|
if err != nil {
|
||||||
return EC2InstanceIdentityDocument{},
|
return EC2InstanceIdentityDocument{},
|
||||||
awserr.New("EC2MetadataRequestError",
|
awserr.New("EC2MetadataRequestError",
|
||||||
@ -120,7 +154,12 @@ func (c *EC2Metadata) GetInstanceIdentityDocument() (EC2InstanceIdentityDocument
|
|||||||
|
|
||||||
// IAMInfo retrieves IAM info from the metadata API
|
// IAMInfo retrieves IAM info from the metadata API
|
||||||
func (c *EC2Metadata) IAMInfo() (EC2IAMInfo, error) {
|
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 {
|
if err != nil {
|
||||||
return EC2IAMInfo{},
|
return EC2IAMInfo{},
|
||||||
awserr.New("EC2MetadataRequestError",
|
awserr.New("EC2MetadataRequestError",
|
||||||
@ -145,7 +184,12 @@ func (c *EC2Metadata) IAMInfo() (EC2IAMInfo, error) {
|
|||||||
|
|
||||||
// Region returns the region the instance is running in.
|
// Region returns the region the instance is running in.
|
||||||
func (c *EC2Metadata) Region() (string, error) {
|
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 {
|
if err != nil {
|
||||||
return "", err
|
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
|
// Can be used to determine if application is running within an EC2 Instance and
|
||||||
// the metadata service is available.
|
// the metadata service is available.
|
||||||
func (c *EC2Metadata) Available() bool {
|
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
|
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
|
// variable "AWS_EC2_METADATA_DISABLED=true". This environment variable set to
|
||||||
// true instructs the SDK to disable the EC2 Metadata client. The client cannot
|
// 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).
|
// 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
|
package ec2metadata
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@ -12,6 +16,7 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"io"
|
"io"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"net/url"
|
||||||
"os"
|
"os"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
@ -41,7 +46,7 @@ const (
|
|||||||
enableTokenProviderHandlerName = "enableTokenProviderHandler"
|
enableTokenProviderHandlerName = "enableTokenProviderHandler"
|
||||||
|
|
||||||
// TTL constants
|
// TTL constants
|
||||||
defaultTTL = 21600 * time.Second
|
defaultTTL = 21600 * time.Second
|
||||||
ttlExpirationWindow = 30 * 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
|
// a client when not using a session. Generally using just New with a session
|
||||||
// is preferred.
|
// 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
|
// 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.
|
// the EC2RoleProvider's EC2Metadata HTTP client's timeout will be shortened.
|
||||||
// To disable this set Config.EC2MetadataDisableTimeoutOverride to false. Enabled by default.
|
// 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)
|
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{
|
svc := &EC2Metadata{
|
||||||
Client: client.New(
|
Client: client.New(
|
||||||
cfg,
|
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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
output, err := t.client.getToken(t.configuredTTL)
|
output, err := t.client.getToken(r.Context(), t.configuredTTL)
|
||||||
|
|
||||||
if err != nil {
|
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 the error code status is 401, we enable the token provider
|
||||||
if e, ok := r.Error.(awserr.RequestFailure); ok && e != nil &&
|
if e, ok := r.Error.(awserr.RequestFailure); ok && e != nil &&
|
||||||
e.StatusCode() == http.StatusUnauthorized {
|
e.StatusCode() == http.StatusUnauthorized {
|
||||||
|
t.token.Store(ec2Token{})
|
||||||
atomic.StoreUint32(&t.disabled, 0)
|
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) {
|
func custAddS3DualStack(p *partition) {
|
||||||
if p.ID != "aws" {
|
if !(p.ID == "aws" || p.ID == "aws-cn" || p.ID == "aws-us-gov") {
|
||||||
return
|
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"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var regionValidationRegex = regexp.MustCompile(`^[[:alnum:]]([[:alnum:]\-]*[[:alnum:]])?$`)
|
||||||
|
|
||||||
type partitions []partition
|
type partitions []partition
|
||||||
|
|
||||||
func (ps partitions) EndpointFor(service, region string, opts ...func(*Options)) (ResolvedEndpoint, error) {
|
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}
|
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 {
|
func serviceList(ss services) []string {
|
||||||
@ -233,7 +235,7 @@ func getByPriority(s []string, p []string, def string) string {
|
|||||||
return s[0]
|
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
|
var merged endpoint
|
||||||
for _, def := range defs {
|
for _, def := range defs {
|
||||||
merged.mergeIn(def)
|
merged.mergeIn(def)
|
||||||
@ -260,6 +262,10 @@ func (e endpoint) resolve(service, partitionID, region, dnsSuffix string, defs [
|
|||||||
region = signingRegion
|
region = signingRegion
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if !validateInputRegion(region) {
|
||||||
|
return ResolvedEndpoint{}, fmt.Errorf("invalid region identifier format provided")
|
||||||
|
}
|
||||||
|
|
||||||
u := strings.Replace(hostname, "{service}", service, 1)
|
u := strings.Replace(hostname, "{service}", service, 1)
|
||||||
u = strings.Replace(u, "{region}", region, 1)
|
u = strings.Replace(u, "{region}", region, 1)
|
||||||
u = strings.Replace(u, "{dnsSuffix}", dnsSuffix, 1)
|
u = strings.Replace(u, "{dnsSuffix}", dnsSuffix, 1)
|
||||||
@ -274,7 +280,7 @@ func (e endpoint) resolve(service, partitionID, region, dnsSuffix string, defs [
|
|||||||
SigningName: signingName,
|
SigningName: signingName,
|
||||||
SigningNameDerived: signingNameDerived,
|
SigningNameDerived: signingNameDerived,
|
||||||
SigningMethod: getByPriority(e.SignatureVersions, signerPriority, defaultSigner),
|
SigningMethod: getByPriority(e.SignatureVersions, signerPriority, defaultSigner),
|
||||||
}
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func getEndpointScheme(protocols []string, disableSSL bool) string {
|
func getEndpointScheme(protocols []string, disableSSL bool) string {
|
||||||
@ -339,3 +345,7 @@ const (
|
|||||||
boxedFalse
|
boxedFalse
|
||||||
boxedTrue
|
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
|
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") {
|
strings.Contains(err.Error(), "broken pipe") {
|
||||||
return true
|
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)
|
err = awserr.New("InvalidEndpointURL", "invalid endpoint uri", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
SanitizeHostForHeader(httpReq)
|
|
||||||
|
|
||||||
r := &Request{
|
r := &Request{
|
||||||
Config: cfg,
|
Config: cfg,
|
||||||
ClientInfo: clientInfo,
|
ClientInfo: clientInfo,
|
||||||
@ -426,6 +424,8 @@ func (r *Request) Sign() error {
|
|||||||
return r.Error
|
return r.Error
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SanitizeHostForHeader(r.HTTPRequest)
|
||||||
|
|
||||||
r.Handlers.Sign.Run(r)
|
r.Handlers.Sign.Run(r)
|
||||||
return r.Error
|
return r.Error
|
||||||
}
|
}
|
||||||
@ -639,6 +639,10 @@ func getHost(r *http.Request) string {
|
|||||||
return r.Host
|
return r.Host
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if r.URL == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
return r.URL.Host
|
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
|
"TooManyRequestsException": {}, // Lambda functions
|
||||||
"PriorRequestNotComplete": {}, // Route53
|
"PriorRequestNotComplete": {}, // Route53
|
||||||
"TransactionInProgressException": {},
|
"TransactionInProgressException": {},
|
||||||
|
"EC2ThrottledException": {}, // EC2
|
||||||
}
|
}
|
||||||
|
|
||||||
// credsExpiredCodes is a collection of error codes which signify the credentials
|
// 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 (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/aws/aws-sdk-go/aws"
|
"github.com/aws/aws-sdk-go/aws"
|
||||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||||
@ -206,7 +207,14 @@ func credsFromAssumeRole(cfg aws.Config,
|
|||||||
sharedCfg.RoleARN,
|
sharedCfg.RoleARN,
|
||||||
func(opt *stscreds.AssumeRoleProvider) {
|
func(opt *stscreds.AssumeRoleProvider) {
|
||||||
opt.RoleSessionName = sharedCfg.RoleSessionName
|
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
|
// Assume role with external ID
|
||||||
if len(sharedCfg.ExternalID) > 0 {
|
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.
|
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
|
To use this option and custom HTTP client, the HTTP client needs to be provided
|
||||||
when creating the session. Not the service client.
|
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
|
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
|
// AWS_S3_USE_ARN_REGION=true
|
||||||
S3UseARNRegion bool
|
S3UseARNRegion bool
|
||||||
|
|
||||||
|
// Specifies the alternative endpoint to use for EC2 IMDS.
|
||||||
|
//
|
||||||
|
// AWS_EC2_METADATA_SERVICE_ENDPOINT=http://[::1]
|
||||||
|
EC2IMDSEndpoint string
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -211,6 +216,9 @@ var (
|
|||||||
s3UseARNRegionEnvKey = []string{
|
s3UseARNRegionEnvKey = []string{
|
||||||
"AWS_S3_USE_ARN_REGION",
|
"AWS_S3_USE_ARN_REGION",
|
||||||
}
|
}
|
||||||
|
ec2IMDSEndpointEnvKey = []string{
|
||||||
|
"AWS_EC2_METADATA_SERVICE_ENDPOINT",
|
||||||
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
// loadEnvConfig retrieves the SDK's environment configuration.
|
// loadEnvConfig retrieves the SDK's environment configuration.
|
||||||
@ -332,6 +340,8 @@ func envConfigLoad(enableSharedConfig bool) (envConfig, error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setFromEnvVal(&cfg.EC2IMDSEndpoint, ec2IMDSEndpointEnvKey)
|
||||||
|
|
||||||
return cfg, nil
|
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 {
|
type Session struct {
|
||||||
Config *aws.Config
|
Config *aws.Config
|
||||||
Handlers request.Handlers
|
Handlers request.Handlers
|
||||||
|
|
||||||
|
options Options
|
||||||
}
|
}
|
||||||
|
|
||||||
// New creates a new instance of the handlers merging in the provided configs
|
// 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
|
return s
|
||||||
}
|
}
|
||||||
|
|
||||||
s := deprecatedNewSession(cfgs...)
|
s := deprecatedNewSession(envCfg, cfgs...)
|
||||||
if envErr != nil {
|
if envErr != nil {
|
||||||
msg := "failed to load env config"
|
msg := "failed to load env config"
|
||||||
s.logDeprecatedNewSessionError(msg, envErr, cfgs)
|
s.logDeprecatedNewSessionError(msg, envErr, cfgs)
|
||||||
@ -243,6 +245,23 @@ type Options struct {
|
|||||||
// function to initialize this value before changing the handlers to be
|
// function to initialize this value before changing the handlers to be
|
||||||
// used by the SDK.
|
// used by the SDK.
|
||||||
Handlers request.Handlers
|
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,
|
// NewSessionWithOptions returns a new Session created from SDK defaults, config files,
|
||||||
@ -329,7 +348,25 @@ func Must(sess *Session, err error) *Session {
|
|||||||
return sess
|
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()
|
cfg := defaults.Config()
|
||||||
handlers := defaults.Handlers()
|
handlers := defaults.Handlers()
|
||||||
|
|
||||||
@ -341,6 +378,11 @@ func deprecatedNewSession(cfgs ...*aws.Config) *Session {
|
|||||||
// endpoints for service client configurations.
|
// endpoints for service client configurations.
|
||||||
cfg.EndpointResolver = endpoints.DefaultResolver()
|
cfg.EndpointResolver = endpoints.DefaultResolver()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(envCfg.EC2IMDSEndpoint) != 0 {
|
||||||
|
cfg.EndpointResolver = wrapEC2IMDSEndpoint(cfg.EndpointResolver, envCfg.EC2IMDSEndpoint)
|
||||||
|
}
|
||||||
|
|
||||||
cfg.Credentials = defaults.CredChain(cfg, handlers)
|
cfg.Credentials = defaults.CredChain(cfg, handlers)
|
||||||
|
|
||||||
// Reapply any passed in configs to override credentials if set
|
// Reapply any passed in configs to override credentials if set
|
||||||
@ -349,6 +391,9 @@ func deprecatedNewSession(cfgs ...*aws.Config) *Session {
|
|||||||
s := &Session{
|
s := &Session{
|
||||||
Config: cfg,
|
Config: cfg,
|
||||||
Handlers: handlers,
|
Handlers: handlers,
|
||||||
|
options: Options{
|
||||||
|
EC2IMDSEndpoint: envCfg.EC2IMDSEndpoint,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
initHandlers(s)
|
initHandlers(s)
|
||||||
@ -418,6 +463,7 @@ func newSession(opts Options, envCfg envConfig, cfgs ...*aws.Config) (*Session,
|
|||||||
s := &Session{
|
s := &Session{
|
||||||
Config: cfg,
|
Config: cfg,
|
||||||
Handlers: handlers,
|
Handlers: handlers,
|
||||||
|
options: opts,
|
||||||
}
|
}
|
||||||
|
|
||||||
initHandlers(s)
|
initHandlers(s)
|
||||||
@ -570,6 +616,14 @@ func mergeConfigSrcs(cfg, userCfg *aws.Config,
|
|||||||
endpoints.LegacyS3UsEast1Endpoint,
|
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
|
// Configure credentials if not already set by the user when creating the
|
||||||
// Session.
|
// Session.
|
||||||
if cfg.Credentials == credentials.AnonymousCredentials && userCfg.Credentials == nil {
|
if cfg.Credentials == credentials.AnonymousCredentials && userCfg.Credentials == nil {
|
||||||
@ -627,6 +681,7 @@ func (s *Session) Copy(cfgs ...*aws.Config) *Session {
|
|||||||
newSession := &Session{
|
newSession := &Session{
|
||||||
Config: s.Config.Copy(cfgs...),
|
Config: s.Config.Copy(cfgs...),
|
||||||
Handlers: s.Handlers.Copy(),
|
Handlers: s.Handlers.Copy(),
|
||||||
|
options: s.options,
|
||||||
}
|
}
|
||||||
|
|
||||||
initHandlers(newSession)
|
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) {
|
func (s *Session) resolveEndpoint(service, region string, cfg *aws.Config) (endpoints.ResolvedEndpoint, error) {
|
||||||
|
|
||||||
if ep := aws.StringValue(cfg.Endpoint); len(ep) != 0 {
|
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 (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||||
"github.com/aws/aws-sdk-go/aws/credentials"
|
"github.com/aws/aws-sdk-go/aws/credentials"
|
||||||
@ -16,12 +17,13 @@ const (
|
|||||||
sessionTokenKey = `aws_session_token` // optional
|
sessionTokenKey = `aws_session_token` // optional
|
||||||
|
|
||||||
// Assume Role Credentials group
|
// Assume Role Credentials group
|
||||||
roleArnKey = `role_arn` // group required
|
roleArnKey = `role_arn` // group required
|
||||||
sourceProfileKey = `source_profile` // group required (or credential_source)
|
sourceProfileKey = `source_profile` // group required (or credential_source)
|
||||||
credentialSourceKey = `credential_source` // group required (or source_profile)
|
credentialSourceKey = `credential_source` // group required (or source_profile)
|
||||||
externalIDKey = `external_id` // optional
|
externalIDKey = `external_id` // optional
|
||||||
mfaSerialKey = `mfa_serial` // optional
|
mfaSerialKey = `mfa_serial` // optional
|
||||||
roleSessionNameKey = `role_session_name` // optional
|
roleSessionNameKey = `role_session_name` // optional
|
||||||
|
roleDurationSecondsKey = "duration_seconds" // optional
|
||||||
|
|
||||||
// CSM options
|
// CSM options
|
||||||
csmEnabledKey = `csm_enabled`
|
csmEnabledKey = `csm_enabled`
|
||||||
@ -73,10 +75,11 @@ type sharedConfig struct {
|
|||||||
CredentialProcess string
|
CredentialProcess string
|
||||||
WebIdentityTokenFile string
|
WebIdentityTokenFile string
|
||||||
|
|
||||||
RoleARN string
|
RoleARN string
|
||||||
RoleSessionName string
|
RoleSessionName string
|
||||||
ExternalID string
|
ExternalID string
|
||||||
MFASerial string
|
MFASerial string
|
||||||
|
AssumeRoleDuration *time.Duration
|
||||||
|
|
||||||
SourceProfileName string
|
SourceProfileName string
|
||||||
SourceProfile *sharedConfig
|
SourceProfile *sharedConfig
|
||||||
@ -274,6 +277,11 @@ func (cfg *sharedConfig) setFromIniFile(profile string, file sharedConfigFile, e
|
|||||||
updateString(&cfg.CredentialSource, section, credentialSourceKey)
|
updateString(&cfg.CredentialSource, section, credentialSourceKey)
|
||||||
updateString(&cfg.Region, section, regionKey)
|
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 {
|
if v := section.String(stsRegionalEndpointSharedKey); len(v) != 0 {
|
||||||
sre, err := endpoints.GetSTSRegionalEndpoint(v)
|
sre, err := endpoints.GetSTSRegionalEndpoint(v)
|
||||||
if err != nil {
|
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 = [
|
srcs = [
|
||||||
"header_rules.go",
|
"header_rules.go",
|
||||||
"options.go",
|
"options.go",
|
||||||
|
"request_context_go1.5.go",
|
||||||
|
"request_context_go1.7.go",
|
||||||
"stream.go",
|
"stream.go",
|
||||||
"uri_path.go",
|
"uri_path.go",
|
||||||
"v4.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
|
var err error
|
||||||
ctx.credValues, err = v4.Credentials.Get()
|
ctx.credValues, err = v4.Credentials.GetWithContext(requestContext(r))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return http.Header{}, err
|
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")
|
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"
|
const SDKName = "aws-sdk-go"
|
||||||
|
|
||||||
// SDKVersion is the version of this SDK
|
// 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 provides serialization of AWS EC2 requests and responses.
|
||||||
package ec2query
|
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 (
|
import (
|
||||||
"net/url"
|
"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
|
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 (
|
import (
|
||||||
"encoding/xml"
|
"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"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
|
"math/big"
|
||||||
"reflect"
|
"reflect"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/aws/aws-sdk-go/aws"
|
"github.com/aws/aws-sdk-go/aws"
|
||||||
@ -14,6 +16,8 @@ import (
|
|||||||
"github.com/aws/aws-sdk-go/private/protocol"
|
"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
|
// 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. The value to unmarshal the json document into must be a pointer to the
|
||||||
// type.
|
// type.
|
||||||
@ -38,17 +42,42 @@ func UnmarshalJSONError(v interface{}, stream io.Reader) error {
|
|||||||
func UnmarshalJSON(v interface{}, stream io.Reader) error {
|
func UnmarshalJSON(v interface{}, stream io.Reader) error {
|
||||||
var out interface{}
|
var out interface{}
|
||||||
|
|
||||||
err := json.NewDecoder(stream).Decode(&out)
|
decoder := json.NewDecoder(stream)
|
||||||
|
decoder.UseNumber()
|
||||||
|
err := decoder.Decode(&out)
|
||||||
if err == io.EOF {
|
if err == io.EOF {
|
||||||
return nil
|
return nil
|
||||||
} else if err != nil {
|
} else if err != nil {
|
||||||
return err
|
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()
|
vtype := value.Type()
|
||||||
if vtype.Kind() == reflect.Ptr {
|
if vtype.Kind() == reflect.Ptr {
|
||||||
vtype = vtype.Elem() // check kind of actual element type
|
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 {
|
if field, ok := vtype.FieldByName("_"); ok {
|
||||||
tag = field.Tag
|
tag = field.Tag
|
||||||
}
|
}
|
||||||
return unmarshalStruct(value, data, tag)
|
return u.unmarshalStruct(value, data, tag)
|
||||||
case "list":
|
case "list":
|
||||||
return unmarshalList(value, data, tag)
|
return u.unmarshalList(value, data, tag)
|
||||||
case "map":
|
case "map":
|
||||||
return unmarshalMap(value, data, tag)
|
return u.unmarshalMap(value, data, tag)
|
||||||
default:
|
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 {
|
if data == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -114,7 +143,7 @@ func unmarshalStruct(value reflect.Value, data interface{}, tag reflect.StructTa
|
|||||||
// unwrap any payloads
|
// unwrap any payloads
|
||||||
if payload := tag.Get("payload"); payload != "" {
|
if payload := tag.Get("payload"); payload != "" {
|
||||||
field, _ := t.FieldByName(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++ {
|
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 != "" {
|
if locName := field.Tag.Get("locationName"); locName != "" {
|
||||||
name = 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)
|
member := value.FieldByIndex(field.Index)
|
||||||
err := unmarshalAny(member, mapData[name], field.Tag)
|
err := u.unmarshalAny(member, mapData[name], field.Tag)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -138,7 +177,7 @@ func unmarshalStruct(value reflect.Value, data interface{}, tag reflect.StructTa
|
|||||||
return nil
|
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 {
|
if data == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -153,7 +192,7 @@ func unmarshalList(value reflect.Value, data interface{}, tag reflect.StructTag)
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i, c := range listData {
|
for i, c := range listData {
|
||||||
err := unmarshalAny(value.Index(i), c, "")
|
err := u.unmarshalAny(value.Index(i), c, "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -162,7 +201,7 @@ func unmarshalList(value reflect.Value, data interface{}, tag reflect.StructTag)
|
|||||||
return nil
|
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 {
|
if data == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -179,14 +218,14 @@ func unmarshalMap(value reflect.Value, data interface{}, tag reflect.StructTag)
|
|||||||
kvalue := reflect.ValueOf(k)
|
kvalue := reflect.ValueOf(k)
|
||||||
vvalue := reflect.New(value.Type().Elem()).Elem()
|
vvalue := reflect.New(value.Type().Elem()).Elem()
|
||||||
|
|
||||||
unmarshalAny(vvalue, v, "")
|
u.unmarshalAny(vvalue, v, "")
|
||||||
value.SetMapIndex(kvalue, vvalue)
|
value.SetMapIndex(kvalue, vvalue)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
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) {
|
switch d := data.(type) {
|
||||||
case nil:
|
case nil:
|
||||||
@ -222,16 +261,31 @@ func unmarshalScalar(value reflect.Value, data interface{}, tag reflect.StructTa
|
|||||||
default:
|
default:
|
||||||
return fmt.Errorf("unsupported value: %v (%s)", value.Interface(), value.Type())
|
return fmt.Errorf("unsupported value: %v (%s)", value.Interface(), value.Type())
|
||||||
}
|
}
|
||||||
case float64:
|
case json.Number:
|
||||||
switch value.Interface().(type) {
|
switch value.Interface().(type) {
|
||||||
case *int64:
|
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))
|
value.Set(reflect.ValueOf(&di))
|
||||||
case *float64:
|
case *float64:
|
||||||
value.Set(reflect.ValueOf(&d))
|
f, err := d.Float64()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
value.Set(reflect.ValueOf(&f))
|
||||||
case *time.Time:
|
case *time.Time:
|
||||||
// Time unmarshaled from a float64 can only be epoch seconds
|
float, ok := new(big.Float).SetString(d.String())
|
||||||
t := time.Unix(int64(d), 0).UTC()
|
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))
|
value.Set(reflect.ValueOf(&t))
|
||||||
default:
|
default:
|
||||||
return fmt.Errorf("unsupported value: %v (%s)", value.Interface(), value.Type())
|
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.
|
// requests and responses.
|
||||||
package jsonrpc
|
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 ../../../private/model/cli/gen-protocol-tests ../../../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/output/json.json unmarshal_test.go
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
"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
|
// If exception code is know, use associated constructor to get a value
|
||||||
// for the exception that the JSON body can be unmarshaled into.
|
// for the exception that the JSON body can be unmarshaled into.
|
||||||
v := fn(respMeta)
|
v := fn(respMeta)
|
||||||
err := jsonutil.UnmarshalJSON(v, body)
|
err := jsonutil.UnmarshalJSONCaseInsensitive(v, body)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
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 provides serialization of AWS query requests, and responses.
|
||||||
package query
|
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 (
|
import (
|
||||||
"net/url"
|
"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
|
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 (
|
import (
|
||||||
"encoding/xml"
|
"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
|
// RFC3339 a subset of the ISO8601 timestamp format. e.g 2014-04-29T18:30:38Z
|
||||||
ISO8601TimeFormat = "2006-01-02T15:04:05.999999999Z"
|
ISO8601TimeFormat = "2006-01-02T15:04:05.999999999Z"
|
||||||
|
|
||||||
// This format is used for output time without seconds precision
|
// This format is used for output time with fractional second precision up to milliseconds
|
||||||
ISO8601OutputTimeFormat = "2006-01-02T15:04:05Z"
|
ISO8601OutputTimeFormat = "2006-01-02T15:04:05.999999999Z"
|
||||||
)
|
)
|
||||||
|
|
||||||
// IsKnownTimestampFormat returns if the timestamp format name
|
// IsKnownTimestampFormat returns if the timestamp format name
|
||||||
@ -48,7 +48,7 @@ func IsKnownTimestampFormat(name string) bool {
|
|||||||
|
|
||||||
// FormatTime returns a string value of the time.
|
// FormatTime returns a string value of the time.
|
||||||
func FormatTime(name string, t time.Time) string {
|
func FormatTime(name string, t time.Time) string {
|
||||||
t = t.UTC()
|
t = t.UTC().Truncate(time.Millisecond)
|
||||||
|
|
||||||
switch name {
|
switch name {
|
||||||
case RFC822TimeFormatName:
|
case RFC822TimeFormatName:
|
||||||
@ -56,7 +56,8 @@ func FormatTime(name string, t time.Time) string {
|
|||||||
case ISO8601TimeFormatName:
|
case ISO8601TimeFormatName:
|
||||||
return t.Format(ISO8601OutputTimeFormat)
|
return t.Format(ISO8601OutputTimeFormat)
|
||||||
case UnixTimeFormatName:
|
case UnixTimeFormatName:
|
||||||
return strconv.FormatInt(t.Unix(), 10)
|
ms := t.UnixNano() / int64(time.Millisecond)
|
||||||
|
return strconv.FormatFloat(float64(ms)/1e3, 'f', -1, 64)
|
||||||
default:
|
default:
|
||||||
panic("unknown timestamp format name, " + name)
|
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"
|
"reflect"
|
||||||
"sort"
|
"sort"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/aws/aws-sdk-go/private/protocol"
|
"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
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xml := tag.Get("xml")
|
||||||
|
if len(xml) != 0 {
|
||||||
|
name := strings.SplitAfterN(xml, ",", 2)[0]
|
||||||
|
if name == "-" {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
t := tag.Get("type")
|
t := tag.Get("type")
|
||||||
if t == "" {
|
if t == "" {
|
||||||
switch value.Kind() {
|
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
|
// 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.
|
// will be used to determine the type from r.
|
||||||
func parse(r reflect.Value, node *XMLNode, tag reflect.StructTag) error {
|
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()
|
rtype := r.Type()
|
||||||
if rtype.Kind() == reflect.Ptr {
|
if rtype.Kind() == reflect.Ptr {
|
||||||
rtype = rtype.Elem() // check kind of actual element type
|
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 (
|
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
|
// ErrCodeAlreadyExistsFault for service response error code
|
||||||
// "AlreadyExists".
|
// "AlreadyExists".
|
||||||
//
|
//
|
||||||
@ -11,6 +18,13 @@ const (
|
|||||||
// name.
|
// name.
|
||||||
ErrCodeAlreadyExistsFault = "AlreadyExists"
|
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
|
// ErrCodeInvalidNextToken for service response error code
|
||||||
// "InvalidNextToken".
|
// "InvalidNextToken".
|
||||||
//
|
//
|
||||||
@ -22,7 +36,8 @@ const (
|
|||||||
//
|
//
|
||||||
// You have already reached a limit for your Amazon EC2 Auto Scaling resources
|
// You have already reached a limit for your Amazon EC2 Auto Scaling resources
|
||||||
// (for example, Auto Scaling groups, launch configurations, or lifecycle hooks).
|
// (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"
|
ErrCodeLimitExceededFault = "LimitExceeded"
|
||||||
|
|
||||||
// ErrCodeResourceContentionFault for service response error code
|
// 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
|
// 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) {
|
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{
|
r.Retryer = client.DefaultRetryer{
|
||||||
NumMaxRetries: client.DefaultRetryerMaxNumRetries,
|
NumMaxRetries: maxRetries,
|
||||||
MinRetryDelay: customRetryerMinRetryDelay,
|
MinRetryDelay: customRetryerMinRetryDelay,
|
||||||
MinThrottleDelay: customRetryerMinRetryDelay,
|
MinThrottleDelay: customRetryerMinRetryDelay,
|
||||||
MaxRetryDelay: customRetryerMaxRetryDelay,
|
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
|
// Package ecr provides the client and types for making API
|
||||||
// requests to Amazon EC2 Container Registry.
|
// requests to Amazon EC2 Container Registry.
|
||||||
//
|
//
|
||||||
// Amazon Elastic Container Registry (Amazon ECR) is a managed Docker registry
|
// Amazon Elastic Container Registry (Amazon ECR) is a managed container image
|
||||||
// service. Customers can use the familiar Docker CLI to push, pull, and manage
|
// registry service. Customers can use the familiar Docker CLI, or their preferred
|
||||||
// images. Amazon ECR provides a secure, scalable, and reliable registry. Amazon
|
// client, to push, pull, and manage images. Amazon ECR provides a secure, scalable,
|
||||||
// ECR supports private Docker repositories with resource-based permissions
|
// 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
|
// 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.
|
// 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.
|
// the manifest or image tag after the last push.
|
||||||
ErrCodeImageAlreadyExistsException = "ImageAlreadyExistsException"
|
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
|
// ErrCodeImageNotFoundException for service response error code
|
||||||
// "ImageNotFoundException".
|
// "ImageNotFoundException".
|
||||||
//
|
//
|
||||||
@ -63,6 +70,12 @@ const (
|
|||||||
// characters.
|
// characters.
|
||||||
ErrCodeInvalidTagParameterException = "InvalidTagParameterException"
|
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
|
// ErrCodeLayerAlreadyExistsException for service response error code
|
||||||
// "LayerAlreadyExistsException".
|
// "LayerAlreadyExistsException".
|
||||||
//
|
//
|
||||||
@ -98,8 +111,8 @@ const (
|
|||||||
// ErrCodeLifecyclePolicyPreviewInProgressException for service response error code
|
// ErrCodeLifecyclePolicyPreviewInProgressException for service response error code
|
||||||
// "LifecyclePolicyPreviewInProgressException".
|
// "LifecyclePolicyPreviewInProgressException".
|
||||||
//
|
//
|
||||||
// The previous lifecycle policy preview request has not completed. Please try
|
// The previous lifecycle policy preview request has not completed. Wait and
|
||||||
// again later.
|
// try again.
|
||||||
ErrCodeLifecyclePolicyPreviewInProgressException = "LifecyclePolicyPreviewInProgressException"
|
ErrCodeLifecyclePolicyPreviewInProgressException = "LifecyclePolicyPreviewInProgressException"
|
||||||
|
|
||||||
// ErrCodeLifecyclePolicyPreviewNotFoundException for service response error code
|
// ErrCodeLifecyclePolicyPreviewNotFoundException for service response error code
|
||||||
@ -112,11 +125,16 @@ const (
|
|||||||
// "LimitExceededException".
|
// "LimitExceededException".
|
||||||
//
|
//
|
||||||
// The operation did not succeed because it would have exceeded a service limit
|
// 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
|
// for your account. For more information, see Amazon ECR Service Quotas (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service-quotas.html)
|
||||||
// (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service_limits.html)
|
|
||||||
// in the Amazon Elastic Container Registry User Guide.
|
// in the Amazon Elastic Container Registry User Guide.
|
||||||
ErrCodeLimitExceededException = "LimitExceededException"
|
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
|
// ErrCodeRepositoryAlreadyExistsException for service response error code
|
||||||
// "RepositoryAlreadyExistsException".
|
// "RepositoryAlreadyExistsException".
|
||||||
//
|
//
|
||||||
@ -164,10 +182,16 @@ const (
|
|||||||
// of tags that can be applied to a repository is 50.
|
// of tags that can be applied to a repository is 50.
|
||||||
ErrCodeTooManyTagsException = "TooManyTagsException"
|
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
|
// ErrCodeUploadNotFoundException for service response error code
|
||||||
// "UploadNotFoundException".
|
// "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.
|
// this repository.
|
||||||
ErrCodeUploadNotFoundException = "UploadNotFoundException"
|
ErrCodeUploadNotFoundException = "UploadNotFoundException"
|
||||||
)
|
)
|
||||||
@ -175,12 +199,14 @@ const (
|
|||||||
var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{
|
var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{
|
||||||
"EmptyUploadException": newErrorEmptyUploadException,
|
"EmptyUploadException": newErrorEmptyUploadException,
|
||||||
"ImageAlreadyExistsException": newErrorImageAlreadyExistsException,
|
"ImageAlreadyExistsException": newErrorImageAlreadyExistsException,
|
||||||
|
"ImageDigestDoesNotMatchException": newErrorImageDigestDoesNotMatchException,
|
||||||
"ImageNotFoundException": newErrorImageNotFoundException,
|
"ImageNotFoundException": newErrorImageNotFoundException,
|
||||||
"ImageTagAlreadyExistsException": newErrorImageTagAlreadyExistsException,
|
"ImageTagAlreadyExistsException": newErrorImageTagAlreadyExistsException,
|
||||||
"InvalidLayerException": newErrorInvalidLayerException,
|
"InvalidLayerException": newErrorInvalidLayerException,
|
||||||
"InvalidLayerPartException": newErrorInvalidLayerPartException,
|
"InvalidLayerPartException": newErrorInvalidLayerPartException,
|
||||||
"InvalidParameterException": newErrorInvalidParameterException,
|
"InvalidParameterException": newErrorInvalidParameterException,
|
||||||
"InvalidTagParameterException": newErrorInvalidTagParameterException,
|
"InvalidTagParameterException": newErrorInvalidTagParameterException,
|
||||||
|
"KmsException": newErrorKmsException,
|
||||||
"LayerAlreadyExistsException": newErrorLayerAlreadyExistsException,
|
"LayerAlreadyExistsException": newErrorLayerAlreadyExistsException,
|
||||||
"LayerInaccessibleException": newErrorLayerInaccessibleException,
|
"LayerInaccessibleException": newErrorLayerInaccessibleException,
|
||||||
"LayerPartTooSmallException": newErrorLayerPartTooSmallException,
|
"LayerPartTooSmallException": newErrorLayerPartTooSmallException,
|
||||||
@ -189,6 +215,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{
|
|||||||
"LifecyclePolicyPreviewInProgressException": newErrorLifecyclePolicyPreviewInProgressException,
|
"LifecyclePolicyPreviewInProgressException": newErrorLifecyclePolicyPreviewInProgressException,
|
||||||
"LifecyclePolicyPreviewNotFoundException": newErrorLifecyclePolicyPreviewNotFoundException,
|
"LifecyclePolicyPreviewNotFoundException": newErrorLifecyclePolicyPreviewNotFoundException,
|
||||||
"LimitExceededException": newErrorLimitExceededException,
|
"LimitExceededException": newErrorLimitExceededException,
|
||||||
|
"ReferencedImagesNotFoundException": newErrorReferencedImagesNotFoundException,
|
||||||
"RepositoryAlreadyExistsException": newErrorRepositoryAlreadyExistsException,
|
"RepositoryAlreadyExistsException": newErrorRepositoryAlreadyExistsException,
|
||||||
"RepositoryNotEmptyException": newErrorRepositoryNotEmptyException,
|
"RepositoryNotEmptyException": newErrorRepositoryNotEmptyException,
|
||||||
"RepositoryNotFoundException": newErrorRepositoryNotFoundException,
|
"RepositoryNotFoundException": newErrorRepositoryNotFoundException,
|
||||||
@ -196,5 +223,6 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{
|
|||||||
"ScanNotFoundException": newErrorScanNotFoundException,
|
"ScanNotFoundException": newErrorScanNotFoundException,
|
||||||
"ServerException": newErrorServerException,
|
"ServerException": newErrorServerException,
|
||||||
"TooManyTagsException": newErrorTooManyTagsException,
|
"TooManyTagsException": newErrorTooManyTagsException,
|
||||||
|
"UnsupportedImageTypeException": newErrorUnsupportedImageTypeException,
|
||||||
"UploadNotFoundException": newErrorUploadNotFoundException,
|
"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
|
// 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.
|
// 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.
|
// in the Classic Load Balancers Guide.
|
||||||
//
|
//
|
||||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
// 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
|
// private cloud (VPC). The specified security groups override the previously
|
||||||
// associated security groups.
|
// 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.
|
// in the Classic Load Balancers Guide.
|
||||||
//
|
//
|
||||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
// 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.
|
// The load balancer evenly distributes requests across all registered subnets.
|
||||||
// For more information, see Add or Remove Subnets for Your Load Balancer in
|
// 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.
|
// in the Classic Load Balancers Guide.
|
||||||
//
|
//
|
||||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
// 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.
|
// of your EC2 instances.
|
||||||
//
|
//
|
||||||
// For more information, see Configure Health Checks for Your Load Balancer
|
// 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.
|
// in the Classic Load Balancers Guide.
|
||||||
//
|
//
|
||||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
// 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
|
// If the application cookie is explicitly removed or expires, the session stops
|
||||||
// being sticky until a new application cookie is issued.
|
// 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.
|
// in the Classic Load Balancers Guide.
|
||||||
//
|
//
|
||||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
// 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
|
// 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.
|
// 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.
|
// in the Classic Load Balancers Guide.
|
||||||
//
|
//
|
||||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
// 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
|
// 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,
|
// 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.
|
// in the Classic Load Balancers Guide.
|
||||||
//
|
//
|
||||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
// 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
|
// the properties of the new listener must match the properties of the existing
|
||||||
// listener.
|
// 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.
|
// in the Classic Load Balancers Guide.
|
||||||
//
|
//
|
||||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
// 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
|
// You can use DescribeLoadBalancers to verify that the instance is deregistered
|
||||||
// from the load balancer.
|
// 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.
|
// in the Classic Load Balancers Guide.
|
||||||
//
|
//
|
||||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
// 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
|
// Describes the current Elastic Load Balancing resource limits for your AWS
|
||||||
// account.
|
// 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.
|
// in the Classic Load Balancers Guide.
|
||||||
//
|
//
|
||||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
// 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 OutOfService state. Then, the load balancer attempts to equally balance
|
||||||
// the traffic among its remaining Availability Zones.
|
// 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.
|
// in the Classic Load Balancers Guide.
|
||||||
//
|
//
|
||||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
// 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
|
// The load balancer evenly distributes requests across all its registered Availability
|
||||||
// Zones that contain instances. For more information, see Add or Remove 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.
|
// in the Classic Load Balancers Guide.
|
||||||
//
|
//
|
||||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
// 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:
|
// 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
|
// 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
|
// 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.
|
// 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.
|
// in the Classic Load Balancers Guide.
|
||||||
//
|
//
|
||||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
// 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.
|
// the same load balancer and port.
|
||||||
//
|
//
|
||||||
// For more information about updating your SSL certificate, see Replace the
|
// 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.
|
// in the Classic Load Balancers Guide.
|
||||||
//
|
//
|
||||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
// 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.
|
// that the policy is associated with the EC2 instance.
|
||||||
//
|
//
|
||||||
// For more information about enabling back-end instance authentication, see
|
// 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,
|
// 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.
|
// in the Classic Load Balancers Guide.
|
||||||
//
|
//
|
||||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
// 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.
|
// To enable back-end server authentication, use SetLoadBalancerPoliciesForBackendServer.
|
||||||
//
|
//
|
||||||
// For more information about setting policies, see Update the SSL Negotiation
|
// For more information about setting policies, see Update the SSL Negotiation
|
||||||
// Configuration (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/ssl-config-update.html),
|
// Configuration (https://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),
|
// 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 (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-application)
|
// 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.
|
// in the Classic Load Balancers Guide.
|
||||||
//
|
//
|
||||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
// 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()
|
return s.String()
|
||||||
}
|
}
|
||||||
|
|
||||||
// This data type is reserved.
|
// Information about additional load balancer attributes.
|
||||||
type AdditionalAttribute struct {
|
type AdditionalAttribute struct {
|
||||||
_ struct{} `type:"structure"`
|
_ 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"`
|
Key *string `type:"string"`
|
||||||
|
|
||||||
// This parameter is reserved.
|
// This value of the attribute.
|
||||||
Value *string `type:"string"`
|
Value *string `type:"string"`
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3509,7 +3515,7 @@ type CreateLoadBalancerInput struct {
|
|||||||
|
|
||||||
// The listeners.
|
// 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.
|
// in the Classic Load Balancers Guide.
|
||||||
//
|
//
|
||||||
// Listeners is a required field
|
// Listeners is a required field
|
||||||
@ -3529,7 +3535,7 @@ type CreateLoadBalancerInput struct {
|
|||||||
// By default, Elastic Load Balancing creates an Internet-facing load balancer
|
// By default, Elastic Load Balancing creates an Internet-facing load balancer
|
||||||
// with a DNS name that resolves to public IP addresses. For more information
|
// with a DNS name that resolves to public IP addresses. For more information
|
||||||
// about Internet-facing and Internal load balancers, see Load Balancer Scheme
|
// 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.
|
// in the Elastic Load Balancing User Guide.
|
||||||
//
|
//
|
||||||
// Specify internal to create a load balancer with a DNS name that resolves
|
// 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.
|
// A list of tags to assign to the load balancer.
|
||||||
//
|
//
|
||||||
// For more information about tagging your load balancer, see Tag Your Classic
|
// 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.
|
// in the Classic Load Balancers Guide.
|
||||||
Tags []*Tag `min:"1" type:"list"`
|
Tags []*Tag `min:"1" type:"list"`
|
||||||
}
|
}
|
||||||
@ -5166,7 +5172,7 @@ func (s *Limit) SetName(v string) *Limit {
|
|||||||
// Information about a listener.
|
// Information about a listener.
|
||||||
//
|
//
|
||||||
// For information about the protocols and the ports supported by Elastic Load
|
// 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.
|
// in the Classic Load Balancers Guide.
|
||||||
type Listener struct {
|
type Listener struct {
|
||||||
_ struct{} `type:"structure"`
|
_ struct{} `type:"structure"`
|
||||||
@ -5179,8 +5185,9 @@ type Listener struct {
|
|||||||
// The protocol to use for routing traffic to instances: HTTP, HTTPS, TCP, or
|
// The protocol to use for routing traffic to instances: HTTP, HTTPS, TCP, or
|
||||||
// SSL.
|
// SSL.
|
||||||
//
|
//
|
||||||
// If the front-end protocol is HTTP, HTTPS, TCP, or SSL, InstanceProtocol must
|
// If the front-end protocol is TCP or SSL, the back-end protocol must be TCP
|
||||||
// be at the same protocol.
|
// 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
|
// If there is another listener with the same InstancePort whose InstanceProtocol
|
||||||
// is secure, (HTTPS or SSL), the listener's InstanceProtocol must also be secure.
|
// 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
|
// If enabled, the load balancer captures detailed information of all requests
|
||||||
// and delivers the information to the Amazon S3 bucket that you specify.
|
// 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.
|
// in the Classic Load Balancers Guide.
|
||||||
AccessLog *AccessLog `type:"structure"`
|
AccessLog *AccessLog `type:"structure"`
|
||||||
|
|
||||||
// This parameter is reserved.
|
// Any additional attributes.
|
||||||
AdditionalAttributes []*AdditionalAttribute `type:"list"`
|
AdditionalAttributes []*AdditionalAttribute `type:"list"`
|
||||||
|
|
||||||
// If enabled, the load balancer allows existing requests to complete before
|
// If enabled, the load balancer allows existing requests to complete before
|
||||||
// the load balancer shifts traffic away from a deregistered or unhealthy instance.
|
// 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.
|
// in the Classic Load Balancers Guide.
|
||||||
ConnectionDraining *ConnectionDraining `type:"structure"`
|
ConnectionDraining *ConnectionDraining `type:"structure"`
|
||||||
|
|
||||||
@ -5327,14 +5334,14 @@ type LoadBalancerAttributes struct {
|
|||||||
//
|
//
|
||||||
// By default, Elastic Load Balancing maintains a 60-second idle connection
|
// By default, Elastic Load Balancing maintains a 60-second idle connection
|
||||||
// timeout for both front-end and back-end connections of your load balancer.
|
// 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.
|
// in the Classic Load Balancers Guide.
|
||||||
ConnectionSettings *ConnectionSettings `type:"structure"`
|
ConnectionSettings *ConnectionSettings `type:"structure"`
|
||||||
|
|
||||||
// If enabled, the load balancer routes the request traffic evenly across all
|
// If enabled, the load balancer routes the request traffic evenly across all
|
||||||
// instances regardless of the Availability Zones.
|
// 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.
|
// in the Classic Load Balancers Guide.
|
||||||
CrossZoneLoadBalancing *CrossZoneLoadBalancing `type:"structure"`
|
CrossZoneLoadBalancing *CrossZoneLoadBalancing `type:"structure"`
|
||||||
}
|
}
|
||||||
@ -5421,7 +5428,7 @@ type LoadBalancerDescription struct {
|
|||||||
|
|
||||||
// The DNS name of the load balancer.
|
// 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.
|
// in the Classic Load Balancers Guide.
|
||||||
CanonicalHostedZoneName *string `type:"string"`
|
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
|
// Elastic Load Balancing supports three types of load balancers: Application
|
||||||
// Load Balancers, Network Load Balancers, and Classic Load Balancers. You can
|
// Load Balancers, Network Load Balancers, and Classic Load Balancers. You can
|
||||||
// select a load balancer based on your application needs. For more information,
|
// 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.
|
// 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.
|
// 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.
|
// AddTags API operation for Elastic Load Balancing.
|
||||||
//
|
//
|
||||||
// Adds the specified tags to the specified Elastic Load Balancing resource.
|
// Adds the specified tags to the specified Elastic Load Balancing resource.
|
||||||
// You can tag your Application Load Balancers, Network Load Balancers, and
|
// You can tag your Application Load Balancers, Network Load Balancers, target
|
||||||
// your target groups.
|
// groups, listeners, and rules.
|
||||||
//
|
//
|
||||||
// Each tag consists of a key and an optional value. If a resource already has
|
// 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.
|
// 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
|
// across all listeners. If a target group is used by multiple actions for a
|
||||||
// load balancer, it is counted as only one use.
|
// 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
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateListener
|
||||||
func (c *ELBV2) CreateListener(input *CreateListenerInput) (*CreateListenerOutput, error) {
|
func (c *ELBV2) CreateListener(input *CreateListenerInput) (*CreateListenerOutput, error) {
|
||||||
req, out := c.CreateListenerRequest(input)
|
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
|
// Creates a rule for the specified listener. The listener must be associated
|
||||||
// with an Application Load Balancer.
|
// 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
|
// 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.
|
// 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
|
// 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
|
// across all listeners. If a target group is used by multiple actions for a
|
||||||
// load balancer, it is counted as only one use.
|
// 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
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateRule
|
||||||
func (c *ELBV2) CreateRule(input *CreateRuleInput) (*CreateRuleOutput, error) {
|
func (c *ELBV2) CreateRule(input *CreateRuleInput) (*CreateRuleOutput, error) {
|
||||||
req, out := c.CreateRuleRequest(input)
|
req, out := c.CreateRuleRequest(input)
|
||||||
@ -697,6 +707,9 @@ func (c *ELBV2) CreateTargetGroupRequest(input *CreateTargetGroupInput) (req *re
|
|||||||
// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
|
// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest"
|
||||||
// The requested configuration is not valid.
|
// 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
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateTargetGroup
|
||||||
func (c *ELBV2) CreateTargetGroup(input *CreateTargetGroupInput) (*CreateTargetGroupOutput, error) {
|
func (c *ELBV2) CreateTargetGroup(input *CreateTargetGroupInput) (*CreateTargetGroupOutput, error) {
|
||||||
req, out := c.CreateTargetGroupRequest(input)
|
req, out := c.CreateTargetGroupRequest(input)
|
||||||
@ -944,6 +957,8 @@ func (c *ELBV2) DeleteRuleRequest(input *DeleteRuleInput) (req *request.Request,
|
|||||||
//
|
//
|
||||||
// Deletes the specified rule.
|
// Deletes the specified rule.
|
||||||
//
|
//
|
||||||
|
// You can't delete the default rule.
|
||||||
|
//
|
||||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
// 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
|
// with awserr.Error's Code and Message methods to get detailed information about
|
||||||
// the error.
|
// the error.
|
||||||
@ -1901,9 +1916,9 @@ func (c *ELBV2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Requ
|
|||||||
|
|
||||||
// DescribeTags API operation for Elastic Load Balancing.
|
// DescribeTags API operation for Elastic Load Balancing.
|
||||||
//
|
//
|
||||||
// Describes the tags for the specified resources. You can describe the tags
|
// Describes the tags for the specified Elastic Load Balancing resources. You
|
||||||
// for one or more Application Load Balancers, Network Load Balancers, and target
|
// can describe the tags for one or more Application Load Balancers, Network
|
||||||
// groups.
|
// Load Balancers, target groups, listeners, or rules.
|
||||||
//
|
//
|
||||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
// 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
|
// 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
|
// across all listeners. If a target group is used by multiple actions for a
|
||||||
// load balancer, it is counted as only one use.
|
// 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
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyListener
|
||||||
func (c *ELBV2) ModifyListener(input *ModifyListenerInput) (*ModifyListenerOutput, error) {
|
func (c *ELBV2) ModifyListener(input *ModifyListenerInput) (*ModifyListenerOutput, error) {
|
||||||
req, out := c.ModifyListenerRequest(input)
|
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.
|
// 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.
|
// 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.
|
// 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 {
|
type Action struct {
|
||||||
_ struct{} `type:"structure"`
|
_ struct{} `type:"structure"`
|
||||||
|
|
||||||
@ -3449,9 +3472,7 @@ type Action struct {
|
|||||||
ForwardConfig *ForwardActionConfig `type:"structure"`
|
ForwardConfig *ForwardActionConfig `type:"structure"`
|
||||||
|
|
||||||
// The order for the action. This value is required for rules with multiple
|
// 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
|
// actions. The action with the lowest value for order is performed first.
|
||||||
// last action to be performed must be one of the following types of actions:
|
|
||||||
// a forward, fixed-response, or redirect.
|
|
||||||
Order *int64 `min:"1" type:"integer"`
|
Order *int64 `min:"1" type:"integer"`
|
||||||
|
|
||||||
// [Application Load Balancer] Information for creating a redirect action. Specify
|
// [Application Load Balancer] Information for creating a redirect action. Specify
|
||||||
@ -3647,7 +3668,7 @@ type AddTagsInput struct {
|
|||||||
// ResourceArns is a required field
|
// ResourceArns is a required field
|
||||||
ResourceArns []*string `type:"list" required:"true"`
|
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 is a required field
|
||||||
Tags []*Tag `min:"1" type:"list" required:"true"`
|
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.
|
// a private IP address from the IPv4 range of the subnet.
|
||||||
LoadBalancerAddresses []*LoadBalancerAddress `type:"list"`
|
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.
|
// The ID of the subnet. You can specify one subnet per Availability Zone.
|
||||||
SubnetId *string `type:"string"`
|
SubnetId *string `type:"string"`
|
||||||
|
|
||||||
@ -4059,6 +4083,12 @@ func (s *AvailabilityZone) SetLoadBalancerAddresses(v []*LoadBalancerAddress) *A
|
|||||||
return s
|
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.
|
// SetSubnetId sets the SubnetId field's value.
|
||||||
func (s *AvailabilityZone) SetSubnetId(v string) *AvailabilityZone {
|
func (s *AvailabilityZone) SetSubnetId(v string) *AvailabilityZone {
|
||||||
s.SubnetId = &v
|
s.SubnetId = &v
|
||||||
@ -4143,6 +4173,23 @@ func (s *Cipher) SetPriority(v int64) *Cipher {
|
|||||||
type CreateListenerInput struct {
|
type CreateListenerInput struct {
|
||||||
_ struct{} `type:"structure"`
|
_ 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
|
// [HTTPS and TLS listeners] The default certificate for the listener. You must
|
||||||
// provide exactly one certificate. Set CertificateArn to the certificate ARN
|
// provide exactly one certificate. Set CertificateArn to the certificate ARN
|
||||||
// but do not set IsDefault.
|
// but do not set IsDefault.
|
||||||
@ -4190,10 +4237,34 @@ type CreateListenerInput struct {
|
|||||||
// Protocol is a required field
|
// Protocol is a required field
|
||||||
Protocol *string `type:"string" required:"true" enum:"ProtocolEnum"`
|
Protocol *string `type:"string" required:"true" enum:"ProtocolEnum"`
|
||||||
|
|
||||||
// [HTTPS and TLS listeners] The security policy that defines which ciphers
|
// [HTTPS and TLS listeners] The security policy that defines which protocols
|
||||||
// and protocols are supported. The default is the current predefined security
|
// and ciphers are supported. The following are the possible values:
|
||||||
// policy.
|
//
|
||||||
|
// * 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"`
|
SslPolicy *string `type:"string"`
|
||||||
|
|
||||||
|
// The tags to assign to the listener.
|
||||||
|
Tags []*Tag `min:"1" type:"list"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// String returns the string representation
|
// String returns the string representation
|
||||||
@ -4224,6 +4295,9 @@ func (s *CreateListenerInput) Validate() error {
|
|||||||
if s.Protocol == nil {
|
if s.Protocol == nil {
|
||||||
invalidParams.Add(request.NewErrParamRequired("Protocol"))
|
invalidParams.Add(request.NewErrParamRequired("Protocol"))
|
||||||
}
|
}
|
||||||
|
if s.Tags != nil && len(s.Tags) < 1 {
|
||||||
|
invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
|
||||||
|
}
|
||||||
if s.DefaultActions != nil {
|
if s.DefaultActions != nil {
|
||||||
for i, v := range s.DefaultActions {
|
for i, v := range s.DefaultActions {
|
||||||
if v == nil {
|
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 {
|
if invalidParams.Len() > 0 {
|
||||||
return invalidParams
|
return invalidParams
|
||||||
@ -4241,6 +4325,12 @@ func (s *CreateListenerInput) Validate() error {
|
|||||||
return nil
|
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.
|
// SetCertificates sets the Certificates field's value.
|
||||||
func (s *CreateListenerInput) SetCertificates(v []*Certificate) *CreateListenerInput {
|
func (s *CreateListenerInput) SetCertificates(v []*Certificate) *CreateListenerInput {
|
||||||
s.Certificates = v
|
s.Certificates = v
|
||||||
@ -4277,6 +4367,12 @@ func (s *CreateListenerInput) SetSslPolicy(v string) *CreateListenerInput {
|
|||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetTags sets the Tags field's value.
|
||||||
|
func (s *CreateListenerInput) SetTags(v []*Tag) *CreateListenerInput {
|
||||||
|
s.Tags = v
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
|
||||||
type CreateListenerOutput struct {
|
type CreateListenerOutput struct {
|
||||||
_ struct{} `type:"structure"`
|
_ struct{} `type:"structure"`
|
||||||
|
|
||||||
@ -4303,6 +4399,10 @@ func (s *CreateListenerOutput) SetListeners(v []*Listener) *CreateListenerOutput
|
|||||||
type CreateLoadBalancerInput struct {
|
type CreateLoadBalancerInput struct {
|
||||||
_ struct{} `type:"structure"`
|
_ 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
|
// [Application Load Balancers] The type of IP addresses used by the subnets
|
||||||
// for your load balancer. The possible values are ipv4 (for IPv4 addresses)
|
// for your load balancer. The possible values are ipv4 (for IPv4 addresses)
|
||||||
// and dualstack (for IPv4 and IPv6 addresses). Internal load balancers must
|
// 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
|
// [Application Load Balancers] You must specify subnets from at least two Availability
|
||||||
// Zones. You cannot specify Elastic IP addresses for your subnets.
|
// 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
|
// [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
|
// 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,
|
// 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
|
// [Application Load Balancers] You must specify subnets from at least two Availability
|
||||||
// Zones.
|
// 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
|
// [Network Load Balancers] You can specify subnets from one or more Availability
|
||||||
// Zones.
|
// Zones.
|
||||||
Subnets []*string `type:"list"`
|
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"`
|
Tags []*Tag `min:"1" type:"list"`
|
||||||
|
|
||||||
// The type of load balancer. The default is application.
|
// The type of load balancer. The default is application.
|
||||||
@ -4401,6 +4511,12 @@ func (s *CreateLoadBalancerInput) Validate() error {
|
|||||||
return nil
|
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.
|
// SetIpAddressType sets the IpAddressType field's value.
|
||||||
func (s *CreateLoadBalancerInput) SetIpAddressType(v string) *CreateLoadBalancerInput {
|
func (s *CreateLoadBalancerInput) SetIpAddressType(v string) *CreateLoadBalancerInput {
|
||||||
s.IpAddressType = &v
|
s.IpAddressType = &v
|
||||||
@ -4499,9 +4615,10 @@ type CreateRuleInput struct {
|
|||||||
// Actions is a required field
|
// Actions is a required field
|
||||||
Actions []*Action `type:"list" required:"true"`
|
Actions []*Action `type:"list" required:"true"`
|
||||||
|
|
||||||
// The conditions. Each rule can include zero or one of the following conditions:
|
// The conditions. Each rule can optionally include up to one of each of the
|
||||||
// http-request-method, host-header, path-pattern, and source-ip, and zero or
|
// following conditions: http-request-method, host-header, path-pattern, and
|
||||||
// more of the following conditions: http-header and query-string.
|
// 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 is a required field
|
||||||
Conditions []*RuleCondition `type:"list" required:"true"`
|
Conditions []*RuleCondition `type:"list" required:"true"`
|
||||||
@ -4515,6 +4632,9 @@ type CreateRuleInput struct {
|
|||||||
//
|
//
|
||||||
// Priority is a required field
|
// Priority is a required field
|
||||||
Priority *int64 `min:"1" type:"integer" required:"true"`
|
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
|
// String returns the string representation
|
||||||
@ -4545,6 +4665,9 @@ func (s *CreateRuleInput) Validate() error {
|
|||||||
if s.Priority != nil && *s.Priority < 1 {
|
if s.Priority != nil && *s.Priority < 1 {
|
||||||
invalidParams.Add(request.NewErrParamMinValue("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 {
|
if s.Actions != nil {
|
||||||
for i, v := range s.Actions {
|
for i, v := range s.Actions {
|
||||||
if v == nil {
|
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 {
|
if invalidParams.Len() > 0 {
|
||||||
return invalidParams
|
return invalidParams
|
||||||
@ -4586,6 +4719,12 @@ func (s *CreateRuleInput) SetPriority(v int64) *CreateRuleInput {
|
|||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetTags sets the Tags field's value.
|
||||||
|
func (s *CreateRuleInput) SetTags(v []*Tag) *CreateRuleInput {
|
||||||
|
s.Tags = v
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
|
||||||
type CreateRuleOutput struct {
|
type CreateRuleOutput struct {
|
||||||
_ struct{} `type:"structure"`
|
_ struct{} `type:"structure"`
|
||||||
|
|
||||||
@ -4679,13 +4818,15 @@ type CreateTargetGroupInput struct {
|
|||||||
// function, this parameter does not apply.
|
// function, this parameter does not apply.
|
||||||
Protocol *string `type:"string" enum:"ProtocolEnum"`
|
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
|
// 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
|
// target group. You can't specify targets for a target group using more than
|
||||||
// one target type.
|
// one target type.
|
||||||
//
|
//
|
||||||
// * instance - Targets are specified by instance ID. This is the default
|
// * 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
|
// value.
|
||||||
// must be instance.
|
|
||||||
//
|
//
|
||||||
// * ip - Targets are specified by IP address. You can specify IP addresses
|
// * 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,
|
// 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 {
|
if s.Port != nil && *s.Port < 1 {
|
||||||
invalidParams.Add(request.NewErrParamMinValue("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 {
|
if s.UnhealthyThresholdCount != nil && *s.UnhealthyThresholdCount < 2 {
|
||||||
invalidParams.Add(request.NewErrParamMinValue("UnhealthyThresholdCount", 2))
|
invalidParams.Add(request.NewErrParamMinValue("UnhealthyThresholdCount", 2))
|
||||||
}
|
}
|
||||||
@ -4747,6 +4891,16 @@ func (s *CreateTargetGroupInput) Validate() error {
|
|||||||
invalidParams.AddNested("Matcher", err.(request.ErrInvalidParams))
|
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 {
|
if invalidParams.Len() > 0 {
|
||||||
return invalidParams
|
return invalidParams
|
||||||
@ -4820,6 +4974,12 @@ func (s *CreateTargetGroupInput) SetProtocol(v string) *CreateTargetGroupInput {
|
|||||||
return s
|
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.
|
// SetTargetType sets the TargetType field's value.
|
||||||
func (s *CreateTargetGroupInput) SetTargetType(v string) *CreateTargetGroupInput {
|
func (s *CreateTargetGroupInput) SetTargetType(v string) *CreateTargetGroupInput {
|
||||||
s.TargetType = &v
|
s.TargetType = &v
|
||||||
@ -5733,7 +5893,7 @@ type DescribeSSLPoliciesOutput struct {
|
|||||||
// Otherwise, this is null.
|
// Otherwise, this is null.
|
||||||
NextMarker *string `type:"string"`
|
NextMarker *string `type:"string"`
|
||||||
|
|
||||||
// Information about the policies.
|
// Information about the security policies.
|
||||||
SslPolicies []*SslPolicy `type:"list"`
|
SslPolicies []*SslPolicy `type:"list"`
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5762,7 +5922,8 @@ func (s *DescribeSSLPoliciesOutput) SetSslPolicies(v []*SslPolicy) *DescribeSSLP
|
|||||||
type DescribeTagsInput struct {
|
type DescribeTagsInput struct {
|
||||||
_ struct{} `type:"structure"`
|
_ 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 is a required field
|
||||||
ResourceArns []*string `type:"list" required:"true"`
|
ResourceArns []*string `type:"list" required:"true"`
|
||||||
@ -6338,6 +6499,10 @@ func (s *Limit) SetName(v string) *Limit {
|
|||||||
type Listener struct {
|
type Listener struct {
|
||||||
_ struct{} `type:"structure"`
|
_ 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.
|
// [HTTPS or TLS listener] The default certificate for the listener.
|
||||||
Certificates []*Certificate `type:"list"`
|
Certificates []*Certificate `type:"list"`
|
||||||
|
|
||||||
@ -6356,8 +6521,8 @@ type Listener struct {
|
|||||||
// The protocol for connections from clients to the load balancer.
|
// The protocol for connections from clients to the load balancer.
|
||||||
Protocol *string `type:"string" enum:"ProtocolEnum"`
|
Protocol *string `type:"string" enum:"ProtocolEnum"`
|
||||||
|
|
||||||
// [HTTPS or TLS listener] The security policy that defines which ciphers and
|
// [HTTPS or TLS listener] The security policy that defines which protocols
|
||||||
// protocols are supported. The default is the current predefined security policy.
|
// and ciphers are supported.
|
||||||
SslPolicy *string `type:"string"`
|
SslPolicy *string `type:"string"`
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -6371,6 +6536,12 @@ func (s Listener) GoString() string {
|
|||||||
return s.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.
|
// SetCertificates sets the Certificates field's value.
|
||||||
func (s *Listener) SetCertificates(v []*Certificate) *Listener {
|
func (s *Listener) SetCertificates(v []*Certificate) *Listener {
|
||||||
s.Certificates = v
|
s.Certificates = v
|
||||||
@ -6417,7 +6588,7 @@ func (s *Listener) SetSslPolicy(v string) *Listener {
|
|||||||
type LoadBalancer struct {
|
type LoadBalancer struct {
|
||||||
_ struct{} `type:"structure"`
|
_ struct{} `type:"structure"`
|
||||||
|
|
||||||
// The Availability Zones for the load balancer.
|
// The subnets for the load balancer.
|
||||||
AvailabilityZones []*AvailabilityZone `type:"list"`
|
AvailabilityZones []*AvailabilityZone `type:"list"`
|
||||||
|
|
||||||
// The ID of the Amazon Route 53 hosted zone associated with the load balancer.
|
// 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.
|
// The date and time the load balancer was created.
|
||||||
CreatedTime *time.Time `type:"timestamp"`
|
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.
|
// The public DNS name of the load balancer.
|
||||||
DNSName *string `type:"string"`
|
DNSName *string `type:"string"`
|
||||||
|
|
||||||
@ -6492,6 +6667,12 @@ func (s *LoadBalancer) SetCreatedTime(v time.Time) *LoadBalancer {
|
|||||||
return s
|
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.
|
// SetDNSName sets the DNSName field's value.
|
||||||
func (s *LoadBalancer) SetDNSName(v string) *LoadBalancer {
|
func (s *LoadBalancer) SetDNSName(v string) *LoadBalancer {
|
||||||
s.DNSName = &v
|
s.DNSName = &v
|
||||||
@ -6617,12 +6798,18 @@ type LoadBalancerAttribute struct {
|
|||||||
// * idle_timeout.timeout_seconds - The idle timeout value, in seconds. The
|
// * idle_timeout.timeout_seconds - The idle timeout value, in seconds. The
|
||||||
// valid range is 1-4000 seconds. The default is 60 seconds.
|
// 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
|
// * routing.http.drop_invalid_header_fields.enabled - Indicates whether
|
||||||
// HTTP headers with invalid header fields are removed by the load balancer
|
// HTTP headers with invalid header fields are removed by the load balancer
|
||||||
// (true) or routed to targets (false). The default is false.
|
// (true) or routed to targets (false). The default is false.
|
||||||
//
|
//
|
||||||
// * routing.http2.enabled - Indicates whether HTTP/2 is enabled. The value
|
// * 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:
|
// The following attributes are supported by only Network Load Balancers:
|
||||||
//
|
//
|
||||||
@ -6739,6 +6926,23 @@ func (s *Matcher) SetHttpCode(v string) *Matcher {
|
|||||||
type ModifyListenerInput struct {
|
type ModifyListenerInput struct {
|
||||||
_ struct{} `type:"structure"`
|
_ 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
|
// [HTTPS and TLS listeners] The default certificate for the listener. You must
|
||||||
// provide exactly one certificate. Set CertificateArn to the certificate ARN
|
// provide exactly one certificate. Set CertificateArn to the certificate ARN
|
||||||
// but do not set IsDefault.
|
// but do not set IsDefault.
|
||||||
@ -6781,8 +6985,29 @@ type ModifyListenerInput struct {
|
|||||||
Protocol *string `type:"string" enum:"ProtocolEnum"`
|
Protocol *string `type:"string" enum:"ProtocolEnum"`
|
||||||
|
|
||||||
// [HTTPS and TLS listeners] The security policy that defines which protocols
|
// [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)
|
// and ciphers are supported. The following are the possible values:
|
||||||
// in the Application Load Balancers Guide.
|
//
|
||||||
|
// * 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"`
|
SslPolicy *string `type:"string"`
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -6822,6 +7047,12 @@ func (s *ModifyListenerInput) Validate() error {
|
|||||||
return nil
|
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.
|
// SetCertificates sets the Certificates field's value.
|
||||||
func (s *ModifyListenerInput) SetCertificates(v []*Certificate) *ModifyListenerInput {
|
func (s *ModifyListenerInput) SetCertificates(v []*Certificate) *ModifyListenerInput {
|
||||||
s.Certificates = v
|
s.Certificates = v
|
||||||
@ -7180,7 +7411,9 @@ type ModifyTargetGroupInput struct {
|
|||||||
HealthyThresholdCount *int64 `min:"2" type:"integer"`
|
HealthyThresholdCount *int64 `min:"2" type:"integer"`
|
||||||
|
|
||||||
// [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful
|
// [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.
|
// With Network Load Balancers, you can't modify this setting.
|
||||||
Matcher *Matcher `type:"structure"`
|
Matcher *Matcher `type:"structure"`
|
||||||
@ -7819,6 +8052,11 @@ func (s *Rule) SetRuleArn(v string) *Rule {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Information about a condition for a 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 {
|
type RuleCondition struct {
|
||||||
_ struct{} `type:"structure"`
|
_ struct{} `type:"structure"`
|
||||||
|
|
||||||
@ -7855,13 +8093,14 @@ type RuleCondition struct {
|
|||||||
// Information for a source IP condition. Specify only when Field is source-ip.
|
// Information for a source IP condition. Specify only when Field is source-ip.
|
||||||
SourceIpConfig *SourceIpConditionConfig `type:"structure"`
|
SourceIpConfig *SourceIpConditionConfig `type:"structure"`
|
||||||
|
|
||||||
// The condition value. You can use Values if the rule contains only host-header
|
// The condition value. Specify only when Field is host-header or path-pattern.
|
||||||
// and path-pattern conditions. Otherwise, you can use HostHeaderConfig for
|
// Alternatively, to specify multiple host names or multiple path patterns,
|
||||||
// host-header conditions and PathPatternConfig for path-pattern conditions.
|
// use HostHeaderConfig or PathPatternConfig.
|
||||||
//
|
//
|
||||||
// If Field is host-header, you can specify a single host name (for example,
|
// If Field is host-header and you are not using HostHeaderConfig, you can specify
|
||||||
// my.example.com). A host name is case insensitive, can be up to 128 characters
|
// a single host name (for example, my.example.com) in Values. A host name is
|
||||||
// in length, and can contain any of the following characters.
|
// case insensitive, can be up to 128 characters in length, and can contain
|
||||||
|
// any of the following characters.
|
||||||
//
|
//
|
||||||
// * A-Z, a-z, 0-9
|
// * A-Z, a-z, 0-9
|
||||||
//
|
//
|
||||||
@ -7871,9 +8110,10 @@ type RuleCondition struct {
|
|||||||
//
|
//
|
||||||
// * ? (matches exactly 1 character)
|
// * ? (matches exactly 1 character)
|
||||||
//
|
//
|
||||||
// If Field is path-pattern, you can specify a single path pattern (for example,
|
// If Field is path-pattern and you are not using PathPatternConfig, you can
|
||||||
// /img/*). A path pattern is case-sensitive, can be up to 128 characters in
|
// specify a single path pattern (for example, /img/*) in Values. A path pattern
|
||||||
// length, and can contain any of the following characters.
|
// 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
|
// * A-Z, a-z, 0-9
|
||||||
//
|
//
|
||||||
@ -8285,7 +8525,7 @@ func (s *SetSubnetsInput) SetSubnets(v []*string) *SetSubnetsInput {
|
|||||||
type SetSubnetsOutput struct {
|
type SetSubnetsOutput struct {
|
||||||
_ struct{} `type:"structure"`
|
_ struct{} `type:"structure"`
|
||||||
|
|
||||||
// Information about the subnet and Availability Zone.
|
// Information about the subnets.
|
||||||
AvailabilityZones []*AvailabilityZone `type:"list"`
|
AvailabilityZones []*AvailabilityZone `type:"list"`
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -8760,8 +9000,8 @@ type TargetGroupAttribute struct {
|
|||||||
|
|
||||||
// The name of the attribute.
|
// The name of the attribute.
|
||||||
//
|
//
|
||||||
// The following attribute is supported by both Application Load Balancers and
|
// The following attributes are supported by both Application Load Balancers
|
||||||
// Network Load Balancers:
|
// and Network Load Balancers:
|
||||||
//
|
//
|
||||||
// * deregistration_delay.timeout_seconds - The amount of time, in seconds,
|
// * deregistration_delay.timeout_seconds - The amount of time, in seconds,
|
||||||
// for Elastic Load Balancing to wait before changing the state of a deregistering
|
// 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
|
// value is 300 seconds. If the target is a Lambda function, this attribute
|
||||||
// is not supported.
|
// is not supported.
|
||||||
//
|
//
|
||||||
// The following attributes are supported by Application Load Balancers if the
|
// * stickiness.enabled - Indicates whether sticky sessions are enabled.
|
||||||
// target is not a Lambda function:
|
// 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
|
// * load_balancing.algorithm.type - The load balancing algorithm determines
|
||||||
// how the load balancer selects targets when routing requests. The value
|
// how the load balancer selects targets when routing requests. The value
|
||||||
// is round_robin or least_outstanding_requests. The default is round_robin.
|
// is round_robin or least_outstanding_requests. The default is round_robin.
|
||||||
//
|
//
|
||||||
// * slow_start.duration_seconds - The time period, in seconds, during which
|
// * slow_start.duration_seconds - The time period, in seconds, during which
|
||||||
// a newly registered target receives a linearly increasing share of the
|
// a newly registered target receives an increasing share of the traffic
|
||||||
// traffic to the target group. After this time period ends, the target receives
|
// 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
|
// its full share of traffic. The range is 30-900 seconds (15 minutes). The
|
||||||
// start mode is disabled by default.
|
// default is 0 seconds (disabled).
|
||||||
//
|
|
||||||
// * 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.
|
|
||||||
//
|
//
|
||||||
// * stickiness.lb_cookie.duration_seconds - The time period, in seconds,
|
// * stickiness.lb_cookie.duration_seconds - The time period, in seconds,
|
||||||
// during which requests from a client should be routed to the same target.
|
// 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
|
// considered stale. The range is 1 second to 1 week (604800 seconds). The
|
||||||
// default value is 1 day (86400 seconds).
|
// 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
|
// * lambda.multi_value_headers.enabled - Indicates whether the request and
|
||||||
// response headers exchanged between the load balancer and the Lambda function
|
// response headers that are exchanged between the load balancer and the
|
||||||
// include arrays of values or strings. The value is true or false. The default
|
// Lambda function include arrays of values or strings. The value is true
|
||||||
// is false. If the value is false and the request contains a duplicate header
|
// or false. The default is false. If the value is false and the request
|
||||||
// field name or query parameter key, the load balancer uses the last value
|
// contains a duplicate header field name or query parameter key, the load
|
||||||
// sent by the client.
|
// balancer uses the last value sent by the client.
|
||||||
//
|
//
|
||||||
// The following attribute is supported only by Network Load Balancers:
|
// The following attribute is supported only by Network Load Balancers:
|
||||||
//
|
//
|
||||||
@ -9060,6 +9302,17 @@ const (
|
|||||||
ActionTypeEnumFixedResponse = "fixed-response"
|
ActionTypeEnumFixedResponse = "fixed-response"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// ActionTypeEnum_Values returns all elements of the ActionTypeEnum enum
|
||||||
|
func ActionTypeEnum_Values() []string {
|
||||||
|
return []string{
|
||||||
|
ActionTypeEnumForward,
|
||||||
|
ActionTypeEnumAuthenticateOidc,
|
||||||
|
ActionTypeEnumAuthenticateCognito,
|
||||||
|
ActionTypeEnumRedirect,
|
||||||
|
ActionTypeEnumFixedResponse,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// AuthenticateCognitoActionConditionalBehaviorEnumDeny is a AuthenticateCognitoActionConditionalBehaviorEnum enum value
|
// AuthenticateCognitoActionConditionalBehaviorEnumDeny is a AuthenticateCognitoActionConditionalBehaviorEnum enum value
|
||||||
AuthenticateCognitoActionConditionalBehaviorEnumDeny = "deny"
|
AuthenticateCognitoActionConditionalBehaviorEnumDeny = "deny"
|
||||||
@ -9071,6 +9324,15 @@ const (
|
|||||||
AuthenticateCognitoActionConditionalBehaviorEnumAuthenticate = "authenticate"
|
AuthenticateCognitoActionConditionalBehaviorEnumAuthenticate = "authenticate"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// AuthenticateCognitoActionConditionalBehaviorEnum_Values returns all elements of the AuthenticateCognitoActionConditionalBehaviorEnum enum
|
||||||
|
func AuthenticateCognitoActionConditionalBehaviorEnum_Values() []string {
|
||||||
|
return []string{
|
||||||
|
AuthenticateCognitoActionConditionalBehaviorEnumDeny,
|
||||||
|
AuthenticateCognitoActionConditionalBehaviorEnumAllow,
|
||||||
|
AuthenticateCognitoActionConditionalBehaviorEnumAuthenticate,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// AuthenticateOidcActionConditionalBehaviorEnumDeny is a AuthenticateOidcActionConditionalBehaviorEnum enum value
|
// AuthenticateOidcActionConditionalBehaviorEnumDeny is a AuthenticateOidcActionConditionalBehaviorEnum enum value
|
||||||
AuthenticateOidcActionConditionalBehaviorEnumDeny = "deny"
|
AuthenticateOidcActionConditionalBehaviorEnumDeny = "deny"
|
||||||
@ -9082,6 +9344,15 @@ const (
|
|||||||
AuthenticateOidcActionConditionalBehaviorEnumAuthenticate = "authenticate"
|
AuthenticateOidcActionConditionalBehaviorEnumAuthenticate = "authenticate"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// AuthenticateOidcActionConditionalBehaviorEnum_Values returns all elements of the AuthenticateOidcActionConditionalBehaviorEnum enum
|
||||||
|
func AuthenticateOidcActionConditionalBehaviorEnum_Values() []string {
|
||||||
|
return []string{
|
||||||
|
AuthenticateOidcActionConditionalBehaviorEnumDeny,
|
||||||
|
AuthenticateOidcActionConditionalBehaviorEnumAllow,
|
||||||
|
AuthenticateOidcActionConditionalBehaviorEnumAuthenticate,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// IpAddressTypeIpv4 is a IpAddressType enum value
|
// IpAddressTypeIpv4 is a IpAddressType enum value
|
||||||
IpAddressTypeIpv4 = "ipv4"
|
IpAddressTypeIpv4 = "ipv4"
|
||||||
@ -9090,6 +9361,14 @@ const (
|
|||||||
IpAddressTypeDualstack = "dualstack"
|
IpAddressTypeDualstack = "dualstack"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// IpAddressType_Values returns all elements of the IpAddressType enum
|
||||||
|
func IpAddressType_Values() []string {
|
||||||
|
return []string{
|
||||||
|
IpAddressTypeIpv4,
|
||||||
|
IpAddressTypeDualstack,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// LoadBalancerSchemeEnumInternetFacing is a LoadBalancerSchemeEnum enum value
|
// LoadBalancerSchemeEnumInternetFacing is a LoadBalancerSchemeEnum enum value
|
||||||
LoadBalancerSchemeEnumInternetFacing = "internet-facing"
|
LoadBalancerSchemeEnumInternetFacing = "internet-facing"
|
||||||
@ -9098,6 +9377,14 @@ const (
|
|||||||
LoadBalancerSchemeEnumInternal = "internal"
|
LoadBalancerSchemeEnumInternal = "internal"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// LoadBalancerSchemeEnum_Values returns all elements of the LoadBalancerSchemeEnum enum
|
||||||
|
func LoadBalancerSchemeEnum_Values() []string {
|
||||||
|
return []string{
|
||||||
|
LoadBalancerSchemeEnumInternetFacing,
|
||||||
|
LoadBalancerSchemeEnumInternal,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// LoadBalancerStateEnumActive is a LoadBalancerStateEnum enum value
|
// LoadBalancerStateEnumActive is a LoadBalancerStateEnum enum value
|
||||||
LoadBalancerStateEnumActive = "active"
|
LoadBalancerStateEnumActive = "active"
|
||||||
@ -9112,6 +9399,16 @@ const (
|
|||||||
LoadBalancerStateEnumFailed = "failed"
|
LoadBalancerStateEnumFailed = "failed"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// LoadBalancerStateEnum_Values returns all elements of the LoadBalancerStateEnum enum
|
||||||
|
func LoadBalancerStateEnum_Values() []string {
|
||||||
|
return []string{
|
||||||
|
LoadBalancerStateEnumActive,
|
||||||
|
LoadBalancerStateEnumProvisioning,
|
||||||
|
LoadBalancerStateEnumActiveImpaired,
|
||||||
|
LoadBalancerStateEnumFailed,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// LoadBalancerTypeEnumApplication is a LoadBalancerTypeEnum enum value
|
// LoadBalancerTypeEnumApplication is a LoadBalancerTypeEnum enum value
|
||||||
LoadBalancerTypeEnumApplication = "application"
|
LoadBalancerTypeEnumApplication = "application"
|
||||||
@ -9120,6 +9417,14 @@ const (
|
|||||||
LoadBalancerTypeEnumNetwork = "network"
|
LoadBalancerTypeEnumNetwork = "network"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// LoadBalancerTypeEnum_Values returns all elements of the LoadBalancerTypeEnum enum
|
||||||
|
func LoadBalancerTypeEnum_Values() []string {
|
||||||
|
return []string{
|
||||||
|
LoadBalancerTypeEnumApplication,
|
||||||
|
LoadBalancerTypeEnumNetwork,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// ProtocolEnumHttp is a ProtocolEnum enum value
|
// ProtocolEnumHttp is a ProtocolEnum enum value
|
||||||
ProtocolEnumHttp = "HTTP"
|
ProtocolEnumHttp = "HTTP"
|
||||||
@ -9140,6 +9445,18 @@ const (
|
|||||||
ProtocolEnumTcpUdp = "TCP_UDP"
|
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 (
|
const (
|
||||||
// RedirectActionStatusCodeEnumHttp301 is a RedirectActionStatusCodeEnum enum value
|
// RedirectActionStatusCodeEnumHttp301 is a RedirectActionStatusCodeEnum enum value
|
||||||
RedirectActionStatusCodeEnumHttp301 = "HTTP_301"
|
RedirectActionStatusCodeEnumHttp301 = "HTTP_301"
|
||||||
@ -9148,6 +9465,14 @@ const (
|
|||||||
RedirectActionStatusCodeEnumHttp302 = "HTTP_302"
|
RedirectActionStatusCodeEnumHttp302 = "HTTP_302"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// RedirectActionStatusCodeEnum_Values returns all elements of the RedirectActionStatusCodeEnum enum
|
||||||
|
func RedirectActionStatusCodeEnum_Values() []string {
|
||||||
|
return []string{
|
||||||
|
RedirectActionStatusCodeEnumHttp301,
|
||||||
|
RedirectActionStatusCodeEnumHttp302,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// TargetHealthReasonEnumElbRegistrationInProgress is a TargetHealthReasonEnum enum value
|
// TargetHealthReasonEnumElbRegistrationInProgress is a TargetHealthReasonEnum enum value
|
||||||
TargetHealthReasonEnumElbRegistrationInProgress = "Elb.RegistrationInProgress"
|
TargetHealthReasonEnumElbRegistrationInProgress = "Elb.RegistrationInProgress"
|
||||||
@ -9186,6 +9511,24 @@ const (
|
|||||||
TargetHealthReasonEnumElbInternalError = "Elb.InternalError"
|
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 (
|
const (
|
||||||
// TargetHealthStateEnumInitial is a TargetHealthStateEnum enum value
|
// TargetHealthStateEnumInitial is a TargetHealthStateEnum enum value
|
||||||
TargetHealthStateEnumInitial = "initial"
|
TargetHealthStateEnumInitial = "initial"
|
||||||
@ -9206,6 +9549,18 @@ const (
|
|||||||
TargetHealthStateEnumUnavailable = "unavailable"
|
TargetHealthStateEnumUnavailable = "unavailable"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// TargetHealthStateEnum_Values returns all elements of the TargetHealthStateEnum enum
|
||||||
|
func TargetHealthStateEnum_Values() []string {
|
||||||
|
return []string{
|
||||||
|
TargetHealthStateEnumInitial,
|
||||||
|
TargetHealthStateEnumHealthy,
|
||||||
|
TargetHealthStateEnumUnhealthy,
|
||||||
|
TargetHealthStateEnumUnused,
|
||||||
|
TargetHealthStateEnumDraining,
|
||||||
|
TargetHealthStateEnumUnavailable,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// TargetTypeEnumInstance is a TargetTypeEnum enum value
|
// TargetTypeEnumInstance is a TargetTypeEnum enum value
|
||||||
TargetTypeEnumInstance = "instance"
|
TargetTypeEnumInstance = "instance"
|
||||||
@ -9216,3 +9571,12 @@ const (
|
|||||||
// TargetTypeEnumLambda is a TargetTypeEnum enum value
|
// TargetTypeEnumLambda is a TargetTypeEnum enum value
|
||||||
TargetTypeEnumLambda = "lambda"
|
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 (
|
const (
|
||||||
|
|
||||||
|
// ErrCodeALPNPolicyNotSupportedException for service response error code
|
||||||
|
// "ALPNPolicyNotFound".
|
||||||
|
//
|
||||||
|
// The specified ALPN policy is not supported.
|
||||||
|
ErrCodeALPNPolicyNotSupportedException = "ALPNPolicyNotFound"
|
||||||
|
|
||||||
// ErrCodeAllocationIdNotFoundException for service response error code
|
// ErrCodeAllocationIdNotFoundException for service response error code
|
||||||
// "AllocationIdNotFound".
|
// "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
|
// ErrCodeLimitExceededException for service response error code
|
||||||
// "LimitExceededException".
|
// "LimitExceededException".
|
||||||
//
|
//
|
||||||
// The request was rejected because a limit was exceeded. For more information,
|
// The request was rejected because a quota was exceeded. For more information,
|
||||||
// see Limits (https://docs.aws.amazon.com/kms/latest/developerguide/limits.html)
|
// see Quotas (https://docs.aws.amazon.com/kms/latest/developerguide/limits.html)
|
||||||
// in the AWS Key Management Service Developer Guide.
|
// in the AWS Key Management Service Developer Guide.
|
||||||
ErrCodeLimitExceededException = "LimitExceededException"
|
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)
|
// 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.
|
// 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
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRole
|
||||||
func (c *STS) AssumeRole(input *AssumeRoleInput) (*AssumeRoleOutput, error) {
|
func (c *STS) AssumeRole(input *AssumeRoleInput) (*AssumeRoleOutput, error) {
|
||||||
req, out := c.AssumeRoleRequest(input)
|
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)
|
// * 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).
|
// 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,
|
// Walk through the process of authenticating through Login with Amazon,
|
||||||
// Facebook, or Google, getting temporary security credentials, and then
|
// Facebook, or Google, getting temporary security credentials, and then
|
||||||
// using those credentials to make a request to AWS.
|
// 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
|
// Package sts provides the client and types for making API
|
||||||
// requests to AWS Security Token Service.
|
// requests to AWS Security Token Service.
|
||||||
//
|
//
|
||||||
// The AWS Security Token Service (STS) is a web service that enables you to
|
// AWS Security Token Service (STS) enables you to request temporary, limited-privilege
|
||||||
// request temporary, limited-privilege credentials for AWS Identity and Access
|
// credentials for AWS Identity and Access Management (IAM) users or for users
|
||||||
// Management (IAM) users or for users that you authenticate (federated users).
|
// that you authenticate (federated users). This guide provides descriptions
|
||||||
// This guide provides descriptions of the STS API. For more detailed information
|
// of the STS API. For more information about using this service, see Temporary
|
||||||
// about using this service, go to Temporary Security Credentials (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html).
|
// 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).
|
|
||||||
//
|
//
|
||||||
// See https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15 for more information on this service.
|
// 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
|
sudo: false
|
||||||
|
|
||||||
go:
|
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 ./...
|
allow_failures:
|
||||||
script: make test
|
- 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
|
CMD = jpgo
|
||||||
|
|
||||||
|
SRC_PKGS=./ ./cmd/... ./fuzz/...
|
||||||
|
|
||||||
help:
|
help:
|
||||||
@echo "Please use \`make <target>' where <target> is one of"
|
@echo "Please use \`make <target>' where <target> is one of"
|
||||||
@echo " test to run all the tests"
|
@echo " test to run all the tests"
|
||||||
@ -9,21 +11,22 @@ help:
|
|||||||
|
|
||||||
|
|
||||||
generate:
|
generate:
|
||||||
go generate ./...
|
go generate ${SRC_PKGS}
|
||||||
|
|
||||||
build:
|
build:
|
||||||
rm -f $(CMD)
|
rm -f $(CMD)
|
||||||
go build ./...
|
go build ${SRC_PKGS}
|
||||||
rm -f cmd/$(CMD)/$(CMD) && cd cmd/$(CMD)/ && go build ./...
|
rm -f cmd/$(CMD)/$(CMD) && cd cmd/$(CMD)/ && go build ./...
|
||||||
mv cmd/$(CMD)/$(CMD) .
|
mv cmd/$(CMD)/$(CMD) .
|
||||||
|
|
||||||
test:
|
test: test-internal-testify
|
||||||
go test -v ./...
|
echo "making tests ${SRC_PKGS}"
|
||||||
|
go test -v ${SRC_PKGS}
|
||||||
|
|
||||||
check:
|
check:
|
||||||
go vet ./...
|
go vet ${SRC_PKGS}
|
||||||
@echo "golint ./..."
|
@echo "golint ${SRC_PKGS}"
|
||||||
@lint=`golint ./...`; \
|
@lint=`golint ${SRC_PKGS}`; \
|
||||||
lint=`echo "$$lint" | grep -v "astnodetype_string.go" | grep -v "toktype_string.go"`; \
|
lint=`echo "$$lint" | grep -v "astnodetype_string.go" | grep -v "toktype_string.go"`; \
|
||||||
echo "$$lint"; \
|
echo "$$lint"; \
|
||||||
if [ "$$lint" != "" ]; then exit 1; fi
|
if [ "$$lint" != "" ]; then exit 1; fi
|
||||||
@ -42,3 +45,7 @@ bench:
|
|||||||
|
|
||||||
pprof-cpu:
|
pprof-cpu:
|
||||||
go tool pprof ./go-jmespath.test ./cpu.out
|
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"
|
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.
|
// safe for concurrent use by multiple goroutines.
|
||||||
type JMESPath struct {
|
type JMESPath struct {
|
||||||
ast ASTNode
|
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 {
|
if p.current() != tEOF {
|
||||||
return ASTNode{}, p.syntaxError(fmt.Sprintf(
|
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
|
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
|
# github.com/auth0/go-jwt-middleware v0.0.0-20170425171159-5493cabe49f7 => github.com/auth0/go-jwt-middleware v0.0.0-20170425171159-5493cabe49f7
|
||||||
## explicit
|
## explicit
|
||||||
# github.com/auth0/go-jwt-middleware => github.com/auth0/go-jwt-middleware v0.0.0-20170425171159-5493cabe49f7
|
# 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
|
## 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
|
||||||
github.com/aws/aws-sdk-go/aws/awserr
|
github.com/aws/aws-sdk-go/aws/awserr
|
||||||
github.com/aws/aws-sdk-go/aws/awsutil
|
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/request
|
||||||
github.com/aws/aws-sdk-go/aws/session
|
github.com/aws/aws-sdk-go/aws/session
|
||||||
github.com/aws/aws-sdk-go/aws/signer/v4
|
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/ini
|
||||||
github.com/aws/aws-sdk-go/internal/sdkio
|
github.com/aws/aws-sdk-go/internal/sdkio
|
||||||
github.com/aws/aws-sdk-go/internal/sdkmath
|
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/sdkuri
|
||||||
github.com/aws/aws-sdk-go/internal/shareddefaults
|
github.com/aws/aws-sdk-go/internal/shareddefaults
|
||||||
github.com/aws/aws-sdk-go/internal/strings
|
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
|
||||||
github.com/aws/aws-sdk-go/private/protocol/ec2query
|
github.com/aws/aws-sdk-go/private/protocol/ec2query
|
||||||
github.com/aws/aws-sdk-go/private/protocol/json/jsonutil
|
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 => github.com/ishidawataru/sctp v0.0.0-20190723014705-7c296d48a2b5
|
# 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/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 => 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 v0.1.0 => github.com/jonboulle/clockwork v0.1.0
|
||||||
github.com/jonboulle/clockwork
|
github.com/jonboulle/clockwork
|
||||||
# github.com/jonboulle/clockwork => github.com/jonboulle/clockwork v0.1.0
|
# github.com/jonboulle/clockwork => github.com/jonboulle/clockwork v0.1.0
|
||||||
|
Loading…
Reference in New Issue
Block a user