From c3c641674f9e44c2f1beefb274cd7e1b8065ed51 Mon Sep 17 00:00:00 2001 From: Bernard Duggan Date: Mon, 28 Nov 2022 12:12:36 +1100 Subject: [PATCH 001/115] Bump version and CHANGELOG --- CHANGELOG.md | 5 +++++ mix.exs | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 412bc2b7..8813d60b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +v2.4.1 +- Add support for credentials_process in AWS credentials config +- Service endpoint updates +- Switch to `Config` from `Mix.Config` + v2.4.0 - Increase minimum elixir version to 1.10 - Add `error_parser` field to operations. This may be optionally populated by services which diff --git a/mix.exs b/mix.exs index f90457af..69b9b524 100644 --- a/mix.exs +++ b/mix.exs @@ -2,7 +2,7 @@ defmodule ExAws.Mixfile do use Mix.Project @source_url "https://github.com/ex-aws/ex_aws" - @version "2.4.0" + @version "2.4.1" def project do [ From f30d42ee461cc162ac11c77fb5a4a1cae590c70e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Nov 2022 14:06:19 +0000 Subject: [PATCH 002/115] Bump excoveralls from 0.15.0 to 0.15.1 Bumps [excoveralls](https://github.com/parroty/excoveralls) from 0.15.0 to 0.15.1. - [Release notes](https://github.com/parroty/excoveralls/releases) - [Changelog](https://github.com/parroty/excoveralls/blob/master/CHANGELOG.md) - [Commits](https://github.com/parroty/excoveralls/compare/v0.15.0...v0.15.1) --- updated-dependencies: - dependency-name: excoveralls dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index a538ab0b..609cb846 100644 --- a/mix.lock +++ b/mix.lock @@ -11,7 +11,7 @@ "earmark_parser": {:hex, :earmark_parser, "1.4.29", "149d50dcb3a93d9f3d6f3ecf18c918fb5a2d3c001b5d3305c926cddfbd33355b", [:mix], [], "hexpm", "4902af1b3eb139016aed210888748db8070b8125c2342ce3dcae4f38dcc63503"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, "ex_doc": {:hex, :ex_doc, "0.29.1", "b1c652fa5f92ee9cf15c75271168027f92039b3877094290a75abcaac82a9f77", [:mix], [{:earmark_parser, "~> 1.4.19", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "b7745fa6374a36daf484e2a2012274950e084815b936b1319aeebcf7809574f6"}, - "excoveralls": {:hex, :excoveralls, "0.15.0", "ac941bf85f9f201a9626cc42b2232b251ad8738da993cf406a4290cacf562ea4", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "9631912006b27eca30a2f3c93562bc7ae15980afb014ceb8147dc5cdd8f376f1"}, + "excoveralls": {:hex, :excoveralls, "0.15.1", "83c8cf7973dd9d1d853dce37a2fb98aaf29b564bf7d01866e409abf59dac2c0e", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "f8416bd90c0082d56a2178cf46c837595a06575f70a5624f164a1ffe37de07e7"}, "hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~>2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"}, "httpotion": {:hex, :httpotion, "3.2.0", "007c81c3a15b4860c893dea858eab2ce859a260b47071e85dcf9611a4226324e", [:mix], [{:ibrowse, "== 4.4.0", [hex: :ibrowse, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "726b3fdfc47d7f15302dac5f6a4152a5002fe8230dee8bdd65b8d154b573580b"}, "ibrowse": {:hex, :ibrowse, "4.4.0", "2d923325efe0d2cb09b9c6a047b2835a5eda69d8a47ed6ff8bc03628b764e991", [:rebar3], [], "hexpm", "6a8e5988872086f0506bef68311493551ac5beae7c06ba2a00d5e9f97a60f1c2"}, From 2553565642e9e61163be932392423829b3f6f88f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Jan 2023 14:03:09 +0000 Subject: [PATCH 003/115] Bump excoveralls from 0.15.1 to 0.15.2 Bumps [excoveralls](https://github.com/parroty/excoveralls) from 0.15.1 to 0.15.2. - [Release notes](https://github.com/parroty/excoveralls/releases) - [Changelog](https://github.com/parroty/excoveralls/blob/master/CHANGELOG.md) - [Commits](https://github.com/parroty/excoveralls/compare/v0.15.1...v0.15.2) --- updated-dependencies: - dependency-name: excoveralls dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index 609cb846..b513bf94 100644 --- a/mix.lock +++ b/mix.lock @@ -11,7 +11,7 @@ "earmark_parser": {:hex, :earmark_parser, "1.4.29", "149d50dcb3a93d9f3d6f3ecf18c918fb5a2d3c001b5d3305c926cddfbd33355b", [:mix], [], "hexpm", "4902af1b3eb139016aed210888748db8070b8125c2342ce3dcae4f38dcc63503"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, "ex_doc": {:hex, :ex_doc, "0.29.1", "b1c652fa5f92ee9cf15c75271168027f92039b3877094290a75abcaac82a9f77", [:mix], [{:earmark_parser, "~> 1.4.19", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "b7745fa6374a36daf484e2a2012274950e084815b936b1319aeebcf7809574f6"}, - "excoveralls": {:hex, :excoveralls, "0.15.1", "83c8cf7973dd9d1d853dce37a2fb98aaf29b564bf7d01866e409abf59dac2c0e", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "f8416bd90c0082d56a2178cf46c837595a06575f70a5624f164a1ffe37de07e7"}, + "excoveralls": {:hex, :excoveralls, "0.15.2", "809c1016660d80b28bbcd8cb7fd761791300def53345c1af5bd97db1330619ad", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "f359dda36f15ae885d3259a90919b09ae9318f37c583c403493fe23808b2b882"}, "hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~>2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"}, "httpotion": {:hex, :httpotion, "3.2.0", "007c81c3a15b4860c893dea858eab2ce859a260b47071e85dcf9611a4226324e", [:mix], [{:ibrowse, "== 4.4.0", [hex: :ibrowse, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "726b3fdfc47d7f15302dac5f6a4152a5002fe8230dee8bdd65b8d154b573580b"}, "ibrowse": {:hex, :ibrowse, "4.4.0", "2d923325efe0d2cb09b9c6a047b2835a5eda69d8a47ed6ff8bc03628b764e991", [:rebar3], [], "hexpm", "6a8e5988872086f0506bef68311493551ac5beae7c06ba2a00d5e9f97a60f1c2"}, From fc59cc0cec9a885e9706c7bfcf17ff9569c19d19 Mon Sep 17 00:00:00 2001 From: Karoline Lende Date: Tue, 20 Dec 2022 17:00:47 +0000 Subject: [PATCH 004/115] add eu-west-2 to sagemaker endpoints --- priv/endpoints.exs | 1 + 1 file changed, 1 insertion(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 97616b92..280360e2 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -697,6 +697,7 @@ "endpoints" => %{ "ap-northeast-1" => %{}, "eu-west-1" => %{}, + "eu-west-2" => %{}, "us-east-1" => %{}, "us-east-2" => %{}, "us-west-2" => %{} From 964cfe2c015ca5e3493e81c2a8611c4d053a7bf5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Jan 2023 14:02:36 +0000 Subject: [PATCH 005/115] Bump telemetry from 1.1.0 to 1.2.0 Bumps [telemetry](https://github.com/beam-telemetry/telemetry) from 1.1.0 to 1.2.0. - [Release notes](https://github.com/beam-telemetry/telemetry/releases) - [Changelog](https://github.com/beam-telemetry/telemetry/blob/main/CHANGELOG.md) - [Commits](https://github.com/beam-telemetry/telemetry/commits) --- updated-dependencies: - dependency-name: telemetry dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index b513bf94..2f53b56f 100644 --- a/mix.lock +++ b/mix.lock @@ -34,6 +34,6 @@ "ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"}, "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"}, "sweet_xml": {:hex, :sweet_xml, "0.7.3", "debb256781c75ff6a8c5cbf7981146312b66f044a2898f453709a53e5031b45b", [:mix], [], "hexpm", "e110c867a1b3fe74bfc7dd9893aa851f0eed5518d0d7cad76d7baafd30e4f5ba"}, - "telemetry": {:hex, :telemetry, "1.1.0", "a589817034a27eab11144ad24d5c0f9fab1f58173274b1e9bae7074af9cbee51", [:rebar3], [], "hexpm", "b727b2a1f75614774cff2d7565b64d0dfa5bd52ba517f16543e6fc7efcc0df48"}, + "telemetry": {:hex, :telemetry, "1.2.0", "a8ce551485a9a3dac8d523542de130eafd12e40bbf76cf0ecd2528f24e812a44", [:rebar3], [], "hexpm", "1427e73667b9a2002cf1f26694c422d5c905df889023903c4518921d53e3e883"}, "unicode_util_compat": {:hex, :unicode_util_compat, "0.7.0", "bc84380c9ab48177092f43ac89e4dfa2c6d62b40b8bd132b1059ecc7232f9a78", [:rebar3], [], "hexpm", "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521"}, } From aa23457ffb067f37bc79cd0fee273fa7fc51090d Mon Sep 17 00:00:00 2001 From: adworse Date: Wed, 21 Dec 2022 13:44:01 +0200 Subject: [PATCH 006/115] fix happy path-only http client doc --- lib/ex_aws/request/http_client.ex | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/ex_aws/request/http_client.ex b/lib/ex_aws/request/http_client.ex index 55fdebc7..02277492 100644 --- a/lib/ex_aws/request/http_client.ex +++ b/lib/ex_aws/request/http_client.ex @@ -18,8 +18,15 @@ defmodule ExAws.Request.HttpClient do defmodule ExAws.Request.HTTPotion do @behaviour ExAws.Request.HttpClient - def request(method, url, body, headers, http_opts) do - {:ok, HTTPotion.request(method, url, [body: body, headers: headers, ibrowse: [headers_as_is: true]])} + def request(method, url, body, headers, _http_opts) do + case HTTPotion.request(method, url, + body: body, + headers: headers, + ibrowse: [headers_as_is: true] + ) do + %HTTPotion.Response{} = response -> {:ok, response} + %HTTPotion.ErrorResponse{} = error -> {:error, %{reason: error}} + end end end From bc6fb43b655000f6735c5d94c00c8ea80139deb7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Jan 2023 14:02:44 +0000 Subject: [PATCH 007/115] Bump telemetry from 1.2.0 to 1.2.1 Bumps [telemetry](https://github.com/beam-telemetry/telemetry) from 1.2.0 to 1.2.1. - [Release notes](https://github.com/beam-telemetry/telemetry/releases) - [Changelog](https://github.com/beam-telemetry/telemetry/blob/main/CHANGELOG.md) - [Commits](https://github.com/beam-telemetry/telemetry/compare/v1.2.0...v1.2.1) --- updated-dependencies: - dependency-name: telemetry dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index 2f53b56f..ab5b3715 100644 --- a/mix.lock +++ b/mix.lock @@ -34,6 +34,6 @@ "ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"}, "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"}, "sweet_xml": {:hex, :sweet_xml, "0.7.3", "debb256781c75ff6a8c5cbf7981146312b66f044a2898f453709a53e5031b45b", [:mix], [], "hexpm", "e110c867a1b3fe74bfc7dd9893aa851f0eed5518d0d7cad76d7baafd30e4f5ba"}, - "telemetry": {:hex, :telemetry, "1.2.0", "a8ce551485a9a3dac8d523542de130eafd12e40bbf76cf0ecd2528f24e812a44", [:rebar3], [], "hexpm", "1427e73667b9a2002cf1f26694c422d5c905df889023903c4518921d53e3e883"}, + "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"}, "unicode_util_compat": {:hex, :unicode_util_compat, "0.7.0", "bc84380c9ab48177092f43ac89e4dfa2c6d62b40b8bd132b1059ecc7232f9a78", [:rebar3], [], "hexpm", "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521"}, } From 8653242dfa4c3449cf12a40e1121b637bb67f4d1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Jan 2023 14:02:38 +0000 Subject: [PATCH 008/115] Bump excoveralls from 0.15.2 to 0.15.3 Bumps [excoveralls](https://github.com/parroty/excoveralls) from 0.15.2 to 0.15.3. - [Release notes](https://github.com/parroty/excoveralls/releases) - [Changelog](https://github.com/parroty/excoveralls/blob/master/CHANGELOG.md) - [Commits](https://github.com/parroty/excoveralls/compare/v0.15.2...v0.15.3) --- updated-dependencies: - dependency-name: excoveralls dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index ab5b3715..41032a40 100644 --- a/mix.lock +++ b/mix.lock @@ -11,7 +11,7 @@ "earmark_parser": {:hex, :earmark_parser, "1.4.29", "149d50dcb3a93d9f3d6f3ecf18c918fb5a2d3c001b5d3305c926cddfbd33355b", [:mix], [], "hexpm", "4902af1b3eb139016aed210888748db8070b8125c2342ce3dcae4f38dcc63503"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, "ex_doc": {:hex, :ex_doc, "0.29.1", "b1c652fa5f92ee9cf15c75271168027f92039b3877094290a75abcaac82a9f77", [:mix], [{:earmark_parser, "~> 1.4.19", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "b7745fa6374a36daf484e2a2012274950e084815b936b1319aeebcf7809574f6"}, - "excoveralls": {:hex, :excoveralls, "0.15.2", "809c1016660d80b28bbcd8cb7fd761791300def53345c1af5bd97db1330619ad", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "f359dda36f15ae885d3259a90919b09ae9318f37c583c403493fe23808b2b882"}, + "excoveralls": {:hex, :excoveralls, "0.15.3", "54bb54043e1cf5fe431eb3db36b25e8fd62cf3976666bafe491e3fa5e29eba47", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "f8eb5d8134d84c327685f7bb8f1db4147f1363c3c9533928234e496e3070114e"}, "hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~>2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"}, "httpotion": {:hex, :httpotion, "3.2.0", "007c81c3a15b4860c893dea858eab2ce859a260b47071e85dcf9611a4226324e", [:mix], [{:ibrowse, "== 4.4.0", [hex: :ibrowse, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "726b3fdfc47d7f15302dac5f6a4152a5002fe8230dee8bdd65b8d154b573580b"}, "ibrowse": {:hex, :ibrowse, "4.4.0", "2d923325efe0d2cb09b9c6a047b2835a5eda69d8a47ed6ff8bc03628b764e991", [:rebar3], [], "hexpm", "6a8e5988872086f0506bef68311493551ac5beae7c06ba2a00d5e9f97a60f1c2"}, From 450ac78fd01f19608e357f2888cae05396f82f3e Mon Sep 17 00:00:00 2001 From: Rishi Ranjan Date: Mon, 6 Feb 2023 15:35:43 +1100 Subject: [PATCH 009/115] Add eu-west-2 to firehose endpoints --- priv/endpoints.exs | 1 + 1 file changed, 1 insertion(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 280360e2..5229773e 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -55,6 +55,7 @@ "ca-central-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, + "eu-west-2" => %{}, "eu-west-3" => %{}, "us-east-1" => %{}, "us-east-2" => %{}, From fac7e0e458b01a0a4473ce5e5e371aed52fdf039 Mon Sep 17 00:00:00 2001 From: Juan C Galvis <8420868+juancgalvis@users.noreply.github.com> Date: Mon, 20 Feb 2023 08:41:29 -0500 Subject: [PATCH 010/115] Add operation name to telemetry metadata closes #930 --- lib/ex_aws/request.ex | 7 ++++++- test/ex_aws/ex_aws_test.exs | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/lib/ex_aws/request.ex b/lib/ex_aws/request.ex index 6b99baea..d0bec237 100644 --- a/lib/ex_aws/request.ex +++ b/lib/ex_aws/request.ex @@ -95,7 +95,7 @@ defmodule ExAws.Request do defp do_request(config, method, safe_url, req_body, full_headers, attempt, service) do telemetry_event = Map.get(config, :telemetry_event, [:ex_aws, :request]) telemetry_options = Map.get(config, :telemetry_options, []) - telemetry_metadata = %{options: telemetry_options, attempt: attempt, service: service} + telemetry_metadata = %{options: telemetry_options, attempt: attempt, service: service, operation: extract_operation(full_headers)} :telemetry.span(telemetry_event, telemetry_metadata, fn -> result = @@ -118,6 +118,11 @@ defmodule ExAws.Request do end) end + defp extract_operation(headers), do: Enum.find_value(headers, &match_operation/1) + + defp match_operation({"x-amz-target", value}), do: value + defp match_operation({_key, _value}), do: nil + def client_error(%{status_code: status, body: body} = error, json_codec) do case json_codec.decode(body) do {:ok, %{"__type" => error_type, "message" => message} = err} -> diff --git a/test/ex_aws/ex_aws_test.exs b/test/ex_aws/ex_aws_test.exs index 8628f204..a437cd05 100644 --- a/test/ex_aws/ex_aws_test.exs +++ b/test/ex_aws/ex_aws_test.exs @@ -97,6 +97,40 @@ defmodule ExAwsTest do }} end + test "telemetry operation and service" do + TelemetryHelper.attach_telemetry([:ex_aws, :custom_request]) + + op = %ExAws.Operation.JSON{ + http_method: :post, + service: :dynamodb, + headers: [ + {"x-amz-target", "DynamoDB_20120810.ListTables"}, + {"content-type", "application/x-amz-json-1.0"} + ] + } + + options = [telemetry_event: [:ex_aws, :custom_request]] + + assert {:ok, %{"TableNames" => _}} = ExAws.request(op, options) + + assert_receive {[:ex_aws, :custom_request, :start], %{system_time: _}, + %{ + attempt: 1, + operation: "DynamoDB_20120810.ListTables", + service: :dynamodb, + options: [] + }} + + assert_receive {[:ex_aws, :custom_request, :stop], %{duration: _}, + %{ + attempt: 1, + operation: "DynamoDB_20120810.ListTables", + service: :dynamodb, + options: [], + result: :ok + }} + end + test "invalid request" do TelemetryHelper.attach_telemetry([:ex_aws, :request]) From db3ab15ce1766e676f85c676e0f227cd371c90e7 Mon Sep 17 00:00:00 2001 From: Juan C Galvis <8420868+juancgalvis@users.noreply.github.com> Date: Mon, 20 Feb 2023 18:17:59 -0500 Subject: [PATCH 011/115] format --- lib/ex_aws/request.ex | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/ex_aws/request.ex b/lib/ex_aws/request.ex index d0bec237..b06f0cb2 100644 --- a/lib/ex_aws/request.ex +++ b/lib/ex_aws/request.ex @@ -95,7 +95,13 @@ defmodule ExAws.Request do defp do_request(config, method, safe_url, req_body, full_headers, attempt, service) do telemetry_event = Map.get(config, :telemetry_event, [:ex_aws, :request]) telemetry_options = Map.get(config, :telemetry_options, []) - telemetry_metadata = %{options: telemetry_options, attempt: attempt, service: service, operation: extract_operation(full_headers)} + + telemetry_metadata = %{ + options: telemetry_options, + attempt: attempt, + service: service, + operation: extract_operation(full_headers) + } :telemetry.span(telemetry_event, telemetry_metadata, fn -> result = From 8f6ec9c78f6e157cf87905fefbe3084e9ca5130e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 2 Mar 2023 15:04:35 +0000 Subject: [PATCH 012/115] Bump ex_doc from 0.29.1 to 0.29.2 Bumps [ex_doc](https://github.com/elixir-lang/ex_doc) from 0.29.1 to 0.29.2. - [Release notes](https://github.com/elixir-lang/ex_doc/releases) - [Changelog](https://github.com/elixir-lang/ex_doc/blob/main/CHANGELOG.md) - [Commits](https://github.com/elixir-lang/ex_doc/compare/v0.29.1...v0.29.2) --- updated-dependencies: - dependency-name: ex_doc dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- mix.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mix.lock b/mix.lock index 41032a40..e25507b3 100644 --- a/mix.lock +++ b/mix.lock @@ -8,9 +8,9 @@ "dialyxir": {:hex, :dialyxir, "1.2.0", "58344b3e87c2e7095304c81a9ae65cb68b613e28340690dfe1a5597fd08dec37", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "61072136427a851674cab81762be4dbeae7679f85b1272b6d25c3a839aff8463"}, "dialyze": {:hex, :dialyze, "0.2.1", "9fb71767f96649020d769db7cbd7290059daff23707d6e851e206b1fdfa92f9d", [:mix], [], "hexpm", "f485181fa53229356621261a384963cb47511cccf1454e82ca4fde53274fcd48"}, "earmark": {:hex, :earmark, "1.4.3", "364ca2e9710f6bff494117dbbd53880d84bebb692dafc3a78eb50aa3183f2bfd", [:mix], [], "hexpm", "8cf8a291ebf1c7b9539e3cddb19e9cef066c2441b1640f13c34c1d3cfc825fec"}, - "earmark_parser": {:hex, :earmark_parser, "1.4.29", "149d50dcb3a93d9f3d6f3ecf18c918fb5a2d3c001b5d3305c926cddfbd33355b", [:mix], [], "hexpm", "4902af1b3eb139016aed210888748db8070b8125c2342ce3dcae4f38dcc63503"}, + "earmark_parser": {:hex, :earmark_parser, "1.4.30", "0b938aa5b9bafd455056440cdaa2a79197ca5e693830b4a982beada840513c5f", [:mix], [], "hexpm", "3b5385c2d36b0473d0b206927b841343d25adb14f95f0110062506b300cd5a1b"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, - "ex_doc": {:hex, :ex_doc, "0.29.1", "b1c652fa5f92ee9cf15c75271168027f92039b3877094290a75abcaac82a9f77", [:mix], [{:earmark_parser, "~> 1.4.19", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "b7745fa6374a36daf484e2a2012274950e084815b936b1319aeebcf7809574f6"}, + "ex_doc": {:hex, :ex_doc, "0.29.2", "dfa97532ba66910b2a3016a4bbd796f41a86fc71dd5227e96f4c8581fdf0fdf0", [:mix], [{:earmark_parser, "~> 1.4.19", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "6b5d7139eda18a753e3250e27e4a929f8d2c880dd0d460cb9986305dea3e03af"}, "excoveralls": {:hex, :excoveralls, "0.15.3", "54bb54043e1cf5fe431eb3db36b25e8fd62cf3976666bafe491e3fa5e29eba47", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "f8eb5d8134d84c327685f7bb8f1db4147f1363c3c9533928234e496e3070114e"}, "hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~>2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"}, "httpotion": {:hex, :httpotion, "3.2.0", "007c81c3a15b4860c893dea858eab2ce859a260b47071e85dcf9611a4226324e", [:mix], [{:ibrowse, "== 4.4.0", [hex: :ibrowse, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "726b3fdfc47d7f15302dac5f6a4152a5002fe8230dee8bdd65b8d154b573580b"}, From 897700f8f2c523ba764665aaee47c8c4531df55e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 Mar 2023 14:57:54 +0000 Subject: [PATCH 013/115] Bump excoveralls from 0.15.3 to 0.16.0 Bumps [excoveralls](https://github.com/parroty/excoveralls) from 0.15.3 to 0.16.0. - [Release notes](https://github.com/parroty/excoveralls/releases) - [Changelog](https://github.com/parroty/excoveralls/blob/master/CHANGELOG.md) - [Commits](https://github.com/parroty/excoveralls/compare/v0.15.3...v0.16.0) --- updated-dependencies: - dependency-name: excoveralls dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index e25507b3..40bf0b3f 100644 --- a/mix.lock +++ b/mix.lock @@ -11,7 +11,7 @@ "earmark_parser": {:hex, :earmark_parser, "1.4.30", "0b938aa5b9bafd455056440cdaa2a79197ca5e693830b4a982beada840513c5f", [:mix], [], "hexpm", "3b5385c2d36b0473d0b206927b841343d25adb14f95f0110062506b300cd5a1b"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, "ex_doc": {:hex, :ex_doc, "0.29.2", "dfa97532ba66910b2a3016a4bbd796f41a86fc71dd5227e96f4c8581fdf0fdf0", [:mix], [{:earmark_parser, "~> 1.4.19", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "6b5d7139eda18a753e3250e27e4a929f8d2c880dd0d460cb9986305dea3e03af"}, - "excoveralls": {:hex, :excoveralls, "0.15.3", "54bb54043e1cf5fe431eb3db36b25e8fd62cf3976666bafe491e3fa5e29eba47", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "f8eb5d8134d84c327685f7bb8f1db4147f1363c3c9533928234e496e3070114e"}, + "excoveralls": {:hex, :excoveralls, "0.16.0", "41f4cfbf7caaa3bc2cf411db6f89c1f53afedf0f1fe8debac918be1afa19c668", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "401205356482ab99fb44d9812cd14dd83b65de8e7ae454697f8b34ba02ecd916"}, "hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~>2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"}, "httpotion": {:hex, :httpotion, "3.2.0", "007c81c3a15b4860c893dea858eab2ce859a260b47071e85dcf9611a4226324e", [:mix], [{:ibrowse, "== 4.4.0", [hex: :ibrowse, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "726b3fdfc47d7f15302dac5f6a4152a5002fe8230dee8bdd65b8d154b573580b"}, "ibrowse": {:hex, :ibrowse, "4.4.0", "2d923325efe0d2cb09b9c6a047b2835a5eda69d8a47ed6ff8bc03628b764e991", [:rebar3], [], "hexpm", "6a8e5988872086f0506bef68311493551ac5beae7c06ba2a00d5e9f97a60f1c2"}, From e952a2c1d31ace71cb562c397a1fb495fdeb8678 Mon Sep 17 00:00:00 2001 From: "Christopher J. Bottaro" Date: Sun, 11 Sep 2022 15:55:06 -0500 Subject: [PATCH 014/115] Force refresh of config auth --- lib/ex_aws/config.ex | 68 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 55 insertions(+), 13 deletions(-) diff --git a/lib/ex_aws/config.ex b/lib/ex_aws/config.ex index d7b4dc5d..4541dfdb 100644 --- a/lib/ex_aws/config.ex +++ b/lib/ex_aws/config.ex @@ -24,6 +24,23 @@ defmodule ExAws.Config do :telemetry_options ] + @instance_role_config [ + :access_key_id, + :secret_access_key, + :security_token + ] + + @awscli_config [ + :source_profile, + :role_arn, + :access_key_id, + :secret_access_key, + :region, + :security_token, + :role_session_name, + :external_id + ] + @type t :: %{} | Keyword.t() @doc """ @@ -69,10 +86,41 @@ defmodule ExAws.Config do defaults = ExAws.Config.Defaults.get(service, region) - defaults + config = defaults |> Map.merge(common_config) |> Map.merge(service_config) - |> Map.merge(overrides) + |> add_refreshable_metadata() + + # (Maybe) do not allow overrides for refreshable config. + overrides = if refreshable = overrides[:refreshable] do + Enum.reduce(refreshable, overrides, fn + :awscli, overrides -> Map.drop(overrides, @awscli_config) + :instance_role, overrides -> Map.drop(overrides, @instance_role_config) + end) + else + overrides + end + + Map.merge(config, overrides) + end + + # :awscli and :instance_role both read creds from ExAws.Config.AuthCache which + # which is "refreshable". This is useful for long running streams where the + # creds can change while the stream is still running. + defp add_refreshable_metadata(config) do + refreshable = Enum.flat_map(config, fn {_k, v} -> List.wrap(v) end) + |> Enum.reduce([], fn + {:awscli, _, _}, acc -> [:awscli | acc] + :role_instance, acc -> [:role_instance | acc] + _, acc -> acc + end) + |> Enum.uniq() + + if refreshable != [] do + Map.put(config, :refreshable, refreshable) + else + config + end end def retrieve_runtime_config(config) do @@ -95,6 +143,9 @@ defmodule ExAws.Config do {:headers, headers}, config -> Map.put(config, :headers, headers) + {:refreshable, refreshable}, config -> + Map.put(config, :refreshable, refreshable) + {k, v}, config -> case retrieve_runtime_value(v, config) do %{} = result -> Map.merge(config, result) @@ -110,22 +161,13 @@ defmodule ExAws.Config do def retrieve_runtime_value(:instance_role, config) do config |> ExAws.Config.AuthCache.get() - |> Map.take([:access_key_id, :secret_access_key, :security_token]) + |> Map.take(@instance_role_config) |> valid_map_or_nil end def retrieve_runtime_value({:awscli, profile, expiration}, _) do ExAws.Config.AuthCache.get(profile, expiration * 1000) - |> Map.take([ - :source_profile, - :role_arn, - :access_key_id, - :secret_access_key, - :region, - :security_token, - :role_session_name, - :external_id - ]) + |> Map.take(@awscli_config) |> valid_map_or_nil end From e26ca2d580f07a21d2523c6192aa2720560f8461 Mon Sep 17 00:00:00 2001 From: "Christopher J. Bottaro" Date: Mon, 12 Sep 2022 17:06:11 -0500 Subject: [PATCH 015/115] Damn typos --- lib/ex_aws/config.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ex_aws/config.ex b/lib/ex_aws/config.ex index 4541dfdb..4a719945 100644 --- a/lib/ex_aws/config.ex +++ b/lib/ex_aws/config.ex @@ -111,7 +111,7 @@ defmodule ExAws.Config do refreshable = Enum.flat_map(config, fn {_k, v} -> List.wrap(v) end) |> Enum.reduce([], fn {:awscli, _, _}, acc -> [:awscli | acc] - :role_instance, acc -> [:role_instance | acc] + :instance_role, acc -> [:instance_role | acc] _, acc -> acc end) |> Enum.uniq() From ec9ed1ea1abf5f2cba6060e98d619706ada0e94c Mon Sep 17 00:00:00 2001 From: "Christopher J. Bottaro" Date: Mon, 27 Feb 2023 12:28:26 -0600 Subject: [PATCH 016/115] Add docs --- lib/ex_aws/config.ex | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/ex_aws/config.ex b/lib/ex_aws/config.ex index 4a719945..549c2c05 100644 --- a/lib/ex_aws/config.ex +++ b/lib/ex_aws/config.ex @@ -2,9 +2,18 @@ defmodule ExAws.Config do @moduledoc """ Generates the configuration for a service. - It starts with the defaults for a given environment - and then merges in the common config from the ex_aws config root, - and then finally any config specified for the particular service. + It starts with the defaults for a given environment and then merges in the + common config from the ex_aws config root, and then finally any config + specified for the particular service. + + ## Refreshable fields + + Some fields are marked as refreshable. These fields will be fetched through + the auth cache even if they are passed in as overrides. This is so stale + credentials aren't used, for example, with long running streams. + + You can opt out of this behavior by passing `refreshable: false` when building + a config with `new/2`. """ # TODO: Add proper documentation? From 7aadedd071ca61b24bab58848bb444000d8e2122 Mon Sep 17 00:00:00 2001 From: "Christopher J. Bottaro" Date: Tue, 28 Feb 2023 13:02:52 -0600 Subject: [PATCH 017/115] mix format --- lib/ex_aws/config.ex | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/lib/ex_aws/config.ex b/lib/ex_aws/config.ex index 549c2c05..3c850300 100644 --- a/lib/ex_aws/config.ex +++ b/lib/ex_aws/config.ex @@ -95,20 +95,22 @@ defmodule ExAws.Config do defaults = ExAws.Config.Defaults.get(service, region) - config = defaults - |> Map.merge(common_config) - |> Map.merge(service_config) - |> add_refreshable_metadata() + config = + defaults + |> Map.merge(common_config) + |> Map.merge(service_config) + |> add_refreshable_metadata() # (Maybe) do not allow overrides for refreshable config. - overrides = if refreshable = overrides[:refreshable] do - Enum.reduce(refreshable, overrides, fn - :awscli, overrides -> Map.drop(overrides, @awscli_config) - :instance_role, overrides -> Map.drop(overrides, @instance_role_config) - end) - else - overrides - end + overrides = + if refreshable = overrides[:refreshable] do + Enum.reduce(refreshable, overrides, fn + :awscli, overrides -> Map.drop(overrides, @awscli_config) + :instance_role, overrides -> Map.drop(overrides, @instance_role_config) + end) + else + overrides + end Map.merge(config, overrides) end @@ -117,13 +119,14 @@ defmodule ExAws.Config do # which is "refreshable". This is useful for long running streams where the # creds can change while the stream is still running. defp add_refreshable_metadata(config) do - refreshable = Enum.flat_map(config, fn {_k, v} -> List.wrap(v) end) - |> Enum.reduce([], fn - {:awscli, _, _}, acc -> [:awscli | acc] - :instance_role, acc -> [:instance_role | acc] - _, acc -> acc - end) - |> Enum.uniq() + refreshable = + Enum.flat_map(config, fn {_k, v} -> List.wrap(v) end) + |> Enum.reduce([], fn + {:awscli, _, _}, acc -> [:awscli | acc] + :instance_role, acc -> [:instance_role | acc] + _, acc -> acc + end) + |> Enum.uniq() if refreshable != [] do Map.put(config, :refreshable, refreshable) From 04740078c7893d7abc745c98aed5913d58a874f3 Mon Sep 17 00:00:00 2001 From: Bernard Duggan Date: Tue, 7 Mar 2023 09:52:41 +1100 Subject: [PATCH 018/115] Add pull request template --- PULL_REQUEST_TEMPLATE.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 PULL_REQUEST_TEMPLATE.md diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..bac14b56 --- /dev/null +++ b/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,5 @@ +Before opening a PR, please make sure you have: + +* Run `mix format` using a recent version of Elixir +* Run `mix dialyzer` to make sure the typing is correct +* Run `mix test` to ensure no tests have broken (also please make sure you've added tests for your particular change, where appropriate). From dc0f7e06be2f868bdbba290400131421dcdd56ad Mon Sep 17 00:00:00 2001 From: Rosa Richter Date: Thu, 2 Mar 2023 14:13:31 -0700 Subject: [PATCH 019/115] Add request and response to telemetry --- lib/ex_aws/request.ex | 16 ++++++++++++---- test/ex_aws/ex_aws_test.exs | 14 ++++++++++---- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/lib/ex_aws/request.ex b/lib/ex_aws/request.ex index b06f0cb2..deb5a7fa 100644 --- a/lib/ex_aws/request.ex +++ b/lib/ex_aws/request.ex @@ -100,6 +100,7 @@ defmodule ExAws.Request do options: telemetry_options, attempt: attempt, service: service, + request_body: req_body, operation: extract_operation(full_headers) } @@ -113,13 +114,15 @@ defmodule ExAws.Request do Map.get(config, :http_opts, []) ) - telemetry_result = + stop_metadata = case result do - {:ok, %{status_code: status}} when status in 200..299 or status == 304 -> :ok - _ -> :error + {:ok, %{status_code: status} = resp} when status in 200..299 or status == 304 -> + %{result: :ok, response_body: Map.get(resp, :body)} + error -> + %{result: :error, error: extract_error(error)} end - telemetry_metadata = Map.put(telemetry_metadata, :result, telemetry_result) + telemetry_metadata = Map.merge(telemetry_metadata, stop_metadata) {result, telemetry_metadata} end) end @@ -129,6 +132,11 @@ defmodule ExAws.Request do defp match_operation({"x-amz-target", value}), do: value defp match_operation({_key, _value}), do: nil + defp extract_error({:ok, %{body: body}}), do: body + defp extract_error({:ok, response}), do: response + defp extract_error({:error, error}), do: error + defp extract_error(error), do: error + def client_error(%{status_code: status, body: body} = error, json_codec) do case json_codec.decode(body) do {:ok, %{"__type" => error_type, "message" => message} = err} -> diff --git a/test/ex_aws/ex_aws_test.exs b/test/ex_aws/ex_aws_test.exs index a437cd05..965c3314 100644 --- a/test/ex_aws/ex_aws_test.exs +++ b/test/ex_aws/ex_aws_test.exs @@ -37,14 +37,17 @@ defmodule ExAwsTest do assert_receive {[:ex_aws, :request, :start], %{system_time: _}, %{ attempt: 1, - options: [] + options: [], + request_body: "{}" }} assert_receive {[:ex_aws, :request, :stop], %{duration: _}, %{ options: [], attempt: 1, - result: :ok + request_body: "{}", + result: :ok, + response_body: "{\"TableNames\":[]}" }} end @@ -148,14 +151,17 @@ defmodule ExAwsTest do assert_receive {[:ex_aws, :request, :start], %{system_time: _}, %{ options: [], - attempt: 1 + attempt: 1, + request_body: "{}" }} assert_receive {[:ex_aws, :request, :stop], %{duration: _}, %{ options: [], attempt: 1, - result: :error + request_body: "{}", + result: :error, + error: ~s({"__type":"com.amazon.coral.validate#ValidationException","Message":"Invalid table/index name. Table/index names must be between 3 and 255 characters long, and may contain only the characters a-z, A-Z, 0-9, '_', '-', and '.'"}) }} end end From 0f8d4737071cbff6c0e7861858bde356923a4cae Mon Sep 17 00:00:00 2001 From: Rosa Richter Date: Mon, 6 Mar 2023 17:27:44 -0700 Subject: [PATCH 020/115] mix format --- lib/ex_aws/request.ex | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/ex_aws/request.ex b/lib/ex_aws/request.ex index deb5a7fa..350b1be0 100644 --- a/lib/ex_aws/request.ex +++ b/lib/ex_aws/request.ex @@ -118,6 +118,7 @@ defmodule ExAws.Request do case result do {:ok, %{status_code: status} = resp} when status in 200..299 or status == 304 -> %{result: :ok, response_body: Map.get(resp, :body)} + error -> %{result: :error, error: extract_error(error)} end From 243b58063c00ed04a6d41b45874bc63c882e1d96 Mon Sep 17 00:00:00 2001 From: Rosa Richter Date: Mon, 6 Mar 2023 21:01:56 -0700 Subject: [PATCH 021/115] mix format tests --- test/ex_aws/ex_aws_test.exs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/ex_aws/ex_aws_test.exs b/test/ex_aws/ex_aws_test.exs index 965c3314..d3793729 100644 --- a/test/ex_aws/ex_aws_test.exs +++ b/test/ex_aws/ex_aws_test.exs @@ -161,7 +161,8 @@ defmodule ExAwsTest do attempt: 1, request_body: "{}", result: :error, - error: ~s({"__type":"com.amazon.coral.validate#ValidationException","Message":"Invalid table/index name. Table/index names must be between 3 and 255 characters long, and may contain only the characters a-z, A-Z, 0-9, '_', '-', and '.'"}) + error: + ~s({"__type":"com.amazon.coral.validate#ValidationException","Message":"Invalid table/index name. Table/index names must be between 3 and 255 characters long, and may contain only the characters a-z, A-Z, 0-9, '_', '-', and '.'"}) }} end end From 88824e852d7ee3344e112972a599e99f131127ac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 17 Mar 2023 14:57:51 +0000 Subject: [PATCH 022/115] Bump ex_doc from 0.29.2 to 0.29.3 Bumps [ex_doc](https://github.com/elixir-lang/ex_doc) from 0.29.2 to 0.29.3. - [Release notes](https://github.com/elixir-lang/ex_doc/releases) - [Changelog](https://github.com/elixir-lang/ex_doc/blob/v0.29.3/CHANGELOG.md) - [Commits](https://github.com/elixir-lang/ex_doc/compare/v0.29.2...v0.29.3) --- updated-dependencies: - dependency-name: ex_doc dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- mix.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mix.lock b/mix.lock index 40bf0b3f..b78bd1ff 100644 --- a/mix.lock +++ b/mix.lock @@ -8,9 +8,9 @@ "dialyxir": {:hex, :dialyxir, "1.2.0", "58344b3e87c2e7095304c81a9ae65cb68b613e28340690dfe1a5597fd08dec37", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "61072136427a851674cab81762be4dbeae7679f85b1272b6d25c3a839aff8463"}, "dialyze": {:hex, :dialyze, "0.2.1", "9fb71767f96649020d769db7cbd7290059daff23707d6e851e206b1fdfa92f9d", [:mix], [], "hexpm", "f485181fa53229356621261a384963cb47511cccf1454e82ca4fde53274fcd48"}, "earmark": {:hex, :earmark, "1.4.3", "364ca2e9710f6bff494117dbbd53880d84bebb692dafc3a78eb50aa3183f2bfd", [:mix], [], "hexpm", "8cf8a291ebf1c7b9539e3cddb19e9cef066c2441b1640f13c34c1d3cfc825fec"}, - "earmark_parser": {:hex, :earmark_parser, "1.4.30", "0b938aa5b9bafd455056440cdaa2a79197ca5e693830b4a982beada840513c5f", [:mix], [], "hexpm", "3b5385c2d36b0473d0b206927b841343d25adb14f95f0110062506b300cd5a1b"}, + "earmark_parser": {:hex, :earmark_parser, "1.4.31", "a93921cdc6b9b869f519213d5bc79d9e218ba768d7270d46fdcf1c01bacff9e2", [:mix], [], "hexpm", "317d367ee0335ef037a87e46c91a2269fef6306413f731e8ec11fc45a7efd059"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, - "ex_doc": {:hex, :ex_doc, "0.29.2", "dfa97532ba66910b2a3016a4bbd796f41a86fc71dd5227e96f4c8581fdf0fdf0", [:mix], [{:earmark_parser, "~> 1.4.19", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "6b5d7139eda18a753e3250e27e4a929f8d2c880dd0d460cb9986305dea3e03af"}, + "ex_doc": {:hex, :ex_doc, "0.29.3", "f07444bcafb302db86e4f02d8bbcd82f2e881a0dcf4f3e4740e4b8128b9353f7", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "3dc6787d7b08801ec3b51e9bd26be5e8826fbf1a17e92d1ebc252e1a1c75bfe1"}, "excoveralls": {:hex, :excoveralls, "0.16.0", "41f4cfbf7caaa3bc2cf411db6f89c1f53afedf0f1fe8debac918be1afa19c668", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "401205356482ab99fb44d9812cd14dd83b65de8e7ae454697f8b34ba02ecd916"}, "hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~>2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"}, "httpotion": {:hex, :httpotion, "3.2.0", "007c81c3a15b4860c893dea858eab2ce859a260b47071e85dcf9611a4226324e", [:mix], [{:ibrowse, "== 4.4.0", [hex: :ibrowse, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "726b3fdfc47d7f15302dac5f6a4152a5002fe8230dee8bdd65b8d154b573580b"}, From cdf06c2dc696139c41d01d875e6c5807c5ea3938 Mon Sep 17 00:00:00 2001 From: Bernard Duggan Date: Tue, 21 Mar 2023 11:46:06 +1100 Subject: [PATCH 023/115] Bump version and CHANGELOG for v2.4.2 --- CHANGELOG.md | 6 ++++++ mix.exs | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8813d60b..e74e33c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +v2.4.2 +- Add name, request, and response data to telemetry +- Force refresh of auth config during long-running streaming operations to avoid failed auth +- Update endpoints +- Update docs + v2.4.1 - Add support for credentials_process in AWS credentials config - Service endpoint updates diff --git a/mix.exs b/mix.exs index 69b9b524..43452fde 100644 --- a/mix.exs +++ b/mix.exs @@ -2,7 +2,7 @@ defmodule ExAws.Mixfile do use Mix.Project @source_url "https://github.com/ex-aws/ex_aws" - @version "2.4.1" + @version "2.4.2" def project do [ From 13c1e3d05961ba2fcc3263c580c6e5f30d35df35 Mon Sep 17 00:00:00 2001 From: Bernard Duggan Date: Tue, 21 Mar 2023 12:02:06 +1100 Subject: [PATCH 024/115] Fix doc formatting --- lib/ex_aws/request/http_client.ex | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/ex_aws/request/http_client.ex b/lib/ex_aws/request/http_client.ex index 02277492..7f1974a2 100644 --- a/lib/ex_aws/request/http_client.ex +++ b/lib/ex_aws/request/http_client.ex @@ -13,6 +13,7 @@ defmodule ExAws.Request.HttpClient do In your config you would do: + ``` config :ex_aws, http_client: ExAws.Request.HTTPotion From 5c0af9c48b6bb3a6749ecd8b19cea0591fbae3c9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Mar 2023 14:06:30 +0000 Subject: [PATCH 025/115] Bump excoveralls from 0.16.0 to 0.16.1 Bumps [excoveralls](https://github.com/parroty/excoveralls) from 0.16.0 to 0.16.1. - [Release notes](https://github.com/parroty/excoveralls/releases) - [Changelog](https://github.com/parroty/excoveralls/blob/master/CHANGELOG.md) - [Commits](https://github.com/parroty/excoveralls/compare/v0.16.0...v0.16.1) --- updated-dependencies: - dependency-name: excoveralls dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index b78bd1ff..2cd0a9f5 100644 --- a/mix.lock +++ b/mix.lock @@ -11,7 +11,7 @@ "earmark_parser": {:hex, :earmark_parser, "1.4.31", "a93921cdc6b9b869f519213d5bc79d9e218ba768d7270d46fdcf1c01bacff9e2", [:mix], [], "hexpm", "317d367ee0335ef037a87e46c91a2269fef6306413f731e8ec11fc45a7efd059"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, "ex_doc": {:hex, :ex_doc, "0.29.3", "f07444bcafb302db86e4f02d8bbcd82f2e881a0dcf4f3e4740e4b8128b9353f7", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "3dc6787d7b08801ec3b51e9bd26be5e8826fbf1a17e92d1ebc252e1a1c75bfe1"}, - "excoveralls": {:hex, :excoveralls, "0.16.0", "41f4cfbf7caaa3bc2cf411db6f89c1f53afedf0f1fe8debac918be1afa19c668", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "401205356482ab99fb44d9812cd14dd83b65de8e7ae454697f8b34ba02ecd916"}, + "excoveralls": {:hex, :excoveralls, "0.16.1", "0bd42ed05c7d2f4d180331a20113ec537be509da31fed5c8f7047ce59ee5a7c5", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "dae763468e2008cf7075a64cb1249c97cb4bc71e236c5c2b5e5cdf1cfa2bf138"}, "hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~>2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"}, "httpotion": {:hex, :httpotion, "3.2.0", "007c81c3a15b4860c893dea858eab2ce859a260b47071e85dcf9611a4226324e", [:mix], [{:ibrowse, "== 4.4.0", [hex: :ibrowse, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "726b3fdfc47d7f15302dac5f6a4152a5002fe8230dee8bdd65b8d154b573580b"}, "ibrowse": {:hex, :ibrowse, "4.4.0", "2d923325efe0d2cb09b9c6a047b2835a5eda69d8a47ed6ff8bc03628b764e991", [:rebar3], [], "hexpm", "6a8e5988872086f0506bef68311493551ac5beae7c06ba2a00d5e9f97a60f1c2"}, From 9834f2d7e7eb764728119bc75484aa7bbb663e4d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 30 Mar 2023 14:57:49 +0000 Subject: [PATCH 026/115] Bump ex_doc from 0.29.3 to 0.29.4 Bumps [ex_doc](https://github.com/elixir-lang/ex_doc) from 0.29.3 to 0.29.4. - [Release notes](https://github.com/elixir-lang/ex_doc/releases) - [Changelog](https://github.com/elixir-lang/ex_doc/blob/main/CHANGELOG.md) - [Commits](https://github.com/elixir-lang/ex_doc/compare/v0.29.3...v0.29.4) --- updated-dependencies: - dependency-name: ex_doc dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index 2cd0a9f5..27c7311d 100644 --- a/mix.lock +++ b/mix.lock @@ -10,7 +10,7 @@ "earmark": {:hex, :earmark, "1.4.3", "364ca2e9710f6bff494117dbbd53880d84bebb692dafc3a78eb50aa3183f2bfd", [:mix], [], "hexpm", "8cf8a291ebf1c7b9539e3cddb19e9cef066c2441b1640f13c34c1d3cfc825fec"}, "earmark_parser": {:hex, :earmark_parser, "1.4.31", "a93921cdc6b9b869f519213d5bc79d9e218ba768d7270d46fdcf1c01bacff9e2", [:mix], [], "hexpm", "317d367ee0335ef037a87e46c91a2269fef6306413f731e8ec11fc45a7efd059"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, - "ex_doc": {:hex, :ex_doc, "0.29.3", "f07444bcafb302db86e4f02d8bbcd82f2e881a0dcf4f3e4740e4b8128b9353f7", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "3dc6787d7b08801ec3b51e9bd26be5e8826fbf1a17e92d1ebc252e1a1c75bfe1"}, + "ex_doc": {:hex, :ex_doc, "0.29.4", "6257ecbb20c7396b1fe5accd55b7b0d23f44b6aa18017b415cb4c2b91d997729", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "2c6699a737ae46cb61e4ed012af931b57b699643b24dabe2400a8168414bc4f5"}, "excoveralls": {:hex, :excoveralls, "0.16.1", "0bd42ed05c7d2f4d180331a20113ec537be509da31fed5c8f7047ce59ee5a7c5", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "dae763468e2008cf7075a64cb1249c97cb4bc71e236c5c2b5e5cdf1cfa2bf138"}, "hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~>2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"}, "httpotion": {:hex, :httpotion, "3.2.0", "007c81c3a15b4860c893dea858eab2ce859a260b47071e85dcf9611a4226324e", [:mix], [{:ibrowse, "== 4.4.0", [hex: :ibrowse, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "726b3fdfc47d7f15302dac5f6a4152a5002fe8230dee8bdd65b8d154b573580b"}, From f5e62cab4078954656104e7b758be36a5bad86ed Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Apr 2023 14:57:55 +0000 Subject: [PATCH 027/115] Bump dialyxir from 1.2.0 to 1.3.0 Bumps [dialyxir](https://github.com/jeremyjh/dialyxir) from 1.2.0 to 1.3.0. - [Release notes](https://github.com/jeremyjh/dialyxir/releases) - [Changelog](https://github.com/jeremyjh/dialyxir/blob/master/CHANGELOG.md) - [Commits](https://github.com/jeremyjh/dialyxir/compare/1.2.0...1.3.0) --- updated-dependencies: - dependency-name: dialyxir dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index 27c7311d..961c18ca 100644 --- a/mix.lock +++ b/mix.lock @@ -5,7 +5,7 @@ "cowboy": {:hex, :cowboy, "2.9.0", "865dd8b6607e14cf03282e10e934023a1bd8be6f6bacf921a7e2a96d800cd452", [:make, :rebar3], [{:cowlib, "2.11.0", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "2c729f934b4e1aa149aff882f57c6372c15399a20d54f65c8d67bef583021bde"}, "cowboy_telemetry": {:hex, :cowboy_telemetry, "0.4.0", "f239f68b588efa7707abce16a84d0d2acf3a0f50571f8bb7f56a15865aae820c", [:rebar3], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de"}, "cowlib": {:hex, :cowlib, "2.11.0", "0b9ff9c346629256c42ebe1eeb769a83c6cb771a6ee5960bd110ab0b9b872063", [:make, :rebar3], [], "hexpm", "2b3e9da0b21c4565751a6d4901c20d1b4cc25cbb7fd50d91d2ab6dd287bc86a9"}, - "dialyxir": {:hex, :dialyxir, "1.2.0", "58344b3e87c2e7095304c81a9ae65cb68b613e28340690dfe1a5597fd08dec37", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "61072136427a851674cab81762be4dbeae7679f85b1272b6d25c3a839aff8463"}, + "dialyxir": {:hex, :dialyxir, "1.3.0", "fd1672f0922b7648ff9ce7b1b26fcf0ef56dda964a459892ad15f6b4410b5284", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "00b2a4bcd6aa8db9dcb0b38c1225b7277dca9bc370b6438715667071a304696f"}, "dialyze": {:hex, :dialyze, "0.2.1", "9fb71767f96649020d769db7cbd7290059daff23707d6e851e206b1fdfa92f9d", [:mix], [], "hexpm", "f485181fa53229356621261a384963cb47511cccf1454e82ca4fde53274fcd48"}, "earmark": {:hex, :earmark, "1.4.3", "364ca2e9710f6bff494117dbbd53880d84bebb692dafc3a78eb50aa3183f2bfd", [:mix], [], "hexpm", "8cf8a291ebf1c7b9539e3cddb19e9cef066c2441b1640f13c34c1d3cfc825fec"}, "earmark_parser": {:hex, :earmark_parser, "1.4.31", "a93921cdc6b9b869f519213d5bc79d9e218ba768d7270d46fdcf1c01bacff9e2", [:mix], [], "hexpm", "317d367ee0335ef037a87e46c91a2269fef6306413f731e8ec11fc45a7efd059"}, From 6dcf400bc054b72a735fc374a04715b015889bbe Mon Sep 17 00:00:00 2001 From: Yash Nelapati Date: Tue, 18 Apr 2023 07:52:19 -0700 Subject: [PATCH 028/115] Add support for IVS endpoints --- priv/endpoints.exs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 5229773e..72c5ed5a 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -792,6 +792,29 @@ "us-west-2" => %{} } }, + "ivs" => %{ + "defaults" => %{"protocols" => ["http", "https"]}, + "endpoints" => %{ + "ap-northeast-1" => %{}, + "ap-northeast-2" => %{}, + "ap-east-1" => %{}, + "ap-south-1" => %{}, + "ap-southeast-1" => %{}, + "ap-southeast-2" => %{}, + "ca-central-1" => %{}, + "eu-central-1" => %{}, + "eu-west-1" => %{}, + "eu-west-2" => %{}, + "eu-west-3" => %{}, + "eu-north-1" => %{}, + "eu-south-1" => %{}, + "sa-east-1" => %{}, + "us-east-1" => %{}, + "us-east-2" => %{}, + "us-west-1" => %{}, + "us-west-2" => %{} + } + }, "ec2" => %{ "defaults" => %{"protocols" => ["http", "https"]}, "endpoints" => %{ From fe24d4304bd51fd2c68ea81e4c37b8c4eb7227dc Mon Sep 17 00:00:00 2001 From: Ed Bond Date: Tue, 25 Apr 2023 19:12:05 -0500 Subject: [PATCH 029/115] enable FSx with govcloud endpoints --- priv/endpoints.exs | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 5229773e..9f5d603d 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -1815,6 +1815,38 @@ "us-west-2" => %{} } }, + "fsx" => %{ + "endpoints" => %{ + "us-east-2" => %{}, + "us-east-1" => %{}, + "us-west-1" => %{}, + "us-west-2" => %{}, + "af-south-1" => %{}, + "ap-east-1" => %{}, + "ap-south-2" => %{}, + "ap-southeast-3" => %{}, + "ap-south-1" => %{}, + "ap-northeast-3" => %{}, + "ap-northeast-2" => %{}, + "ap-southeast-1" => %{}, + "ap-southeast-2" => %{}, + "ap-northeast-1" => %{}, + "ca-central-1" => %{}, + "eu-central-1" => %{}, + "eu-west-1" => %{}, + "eu-west-2" => %{}, + "eu-south-1" => %{}, + "eu-west-3" => %{}, + "eu-south-2" => %{}, + "eu-north-1" => %{}, + "eu-central-2" => %{}, + "me-south-1" => %{}, + "me-central-1" => %{}, + "sa-east-1" => %{}, + "us-gov-east-1" => %{}, + "us-gov-west-1" => %{} + } + }, "elasticfilesystem" => %{ "endpoints" => %{ "ap-northeast-2" => %{}, @@ -2418,6 +2450,18 @@ }, "services" => %{ "elasticache" => %{"endpoints" => %{"us-gov-east-1" => %{}, "us-gov-west-1" => %{}}}, + "fsx" => %{ + "endpoints" => %{ + "us-gov-east-1" => %{ + "credentialScope" => %{"region" => "us-gov-east-1"}, + "hostname" => "fsx-fips.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" => %{ + "credentialScope" => %{"region" => "us-gov-west-1"}, + "hostname" => "fsx-fips.us-gov-west-1.amazonaws.com" + } + } + }, "config" => %{"endpoints" => %{"us-gov-east-1" => %{}, "us-gov-west-1" => %{}}}, "iam" => %{ "endpoints" => %{ From a2e3f18fb7d113092d900960977e0044a5913a3d Mon Sep 17 00:00:00 2001 From: Ed Bond Date: Tue, 25 Apr 2023 19:13:38 -0500 Subject: [PATCH 030/115] formatting --- priv/endpoints.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 9f5d603d..066b4001 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -2461,7 +2461,7 @@ "hostname" => "fsx-fips.us-gov-west-1.amazonaws.com" } } - }, + }, "config" => %{"endpoints" => %{"us-gov-east-1" => %{}, "us-gov-west-1" => %{}}}, "iam" => %{ "endpoints" => %{ From fc77eb4ed88c66954953ff40105f38957da51c9f Mon Sep 17 00:00:00 2001 From: rauan Date: Wed, 14 Jun 2023 19:32:37 -0300 Subject: [PATCH 031/115] Add support for EventBridge Scheduler endpoints --- priv/endpoints.exs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index d8ebb298..ee8801e0 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -375,6 +375,27 @@ "us-west-2" => %{} } }, + "scheduler" => %{ + "endpoints" => %{ + "ap-northeast-1" => %{}, + "ap-northeast-2" => %{}, + "ap-east-1" => %{}, + "ap-south-1" => %{}, + "ap-southeast-1" => %{}, + "ap-southeast-2" => %{}, + "ca-central-1" => %{}, + "eu-central-1" => %{}, + "eu-west-1" => %{}, + "eu-west-2" => %{}, + "eu-west-3" => %{}, + "eu-north-1" => %{}, + "sa-east-1" => %{}, + "us-east-1" => %{}, + "us-east-2" => %{}, + "us-west-1" => %{}, + "us-west-2" => %{} + } + }, "guardduty" => %{ "defaults" => %{"protocols" => ["https"]}, "endpoints" => %{ From d2c2e1b6cd037752e91b1ad04ec86a819653d130 Mon Sep 17 00:00:00 2001 From: Mohamed Sabry Hegazy Date: Fri, 16 Jun 2023 19:47:49 +0300 Subject: [PATCH 032/115] Add `me-south-1` to SNS endpoints Add `me-south-1` to the list of SNS endpoints so ex_aws won't error when connecting to valid sns endpoints. --- priv/endpoints.exs | 1 + 1 file changed, 1 insertion(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index d8ebb298..09789f44 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -434,6 +434,7 @@ "eu-west-2" => %{}, "eu-west-3" => %{}, "eu-north-1" => %{}, + "me-south-1" => %{}, "sa-east-1" => %{}, "us-east-1" => %{}, "us-east-2" => %{}, From 1849042cb462cd26f28c8c8c73317a78ef2d51ab Mon Sep 17 00:00:00 2001 From: Bernard Duggan Date: Tue, 20 Jun 2023 15:16:15 +1000 Subject: [PATCH 033/115] Flip default for refreshable behaviour to require explicit enabling --- lib/ex_aws/config.ex | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/lib/ex_aws/config.ex b/lib/ex_aws/config.ex index 3c850300..7d6fd36e 100644 --- a/lib/ex_aws/config.ex +++ b/lib/ex_aws/config.ex @@ -12,8 +12,8 @@ defmodule ExAws.Config do the auth cache even if they are passed in as overrides. This is so stale credentials aren't used, for example, with long running streams. - You can opt out of this behavior by passing `refreshable: false` when building - a config with `new/2`. + This behaviour must be explicitly enabled by passing `refreshable: true` as an option + to Config.new/2 """ # TODO: Add proper documentation? @@ -67,8 +67,8 @@ defmodule ExAws.Config do service |> build_base(overrides) - |> retrieve_runtime_config - |> parse_host_for_region + |> retrieve_runtime_config() + |> parse_host_for_region() end @doc """ @@ -99,11 +99,11 @@ defmodule ExAws.Config do defaults |> Map.merge(common_config) |> Map.merge(service_config) - |> add_refreshable_metadata() + |> add_refreshable_metadata(overrides) # (Maybe) do not allow overrides for refreshable config. overrides = - if refreshable = overrides[:refreshable] do + if refreshable = config[:refreshable] do Enum.reduce(refreshable, overrides, fn :awscli, overrides -> Map.drop(overrides, @awscli_config) :instance_role, overrides -> Map.drop(overrides, @instance_role_config) @@ -116,9 +116,9 @@ defmodule ExAws.Config do end # :awscli and :instance_role both read creds from ExAws.Config.AuthCache which - # which is "refreshable". This is useful for long running streams where the - # creds can change while the stream is still running. - defp add_refreshable_metadata(config) do + # is "refreshable". This is useful for long running streams where the creds can + # change while the stream is still running. + defp add_refreshable_metadata(config, %{refreshable: true}) do refreshable = Enum.flat_map(config, fn {_k, v} -> List.wrap(v) end) |> Enum.reduce([], fn @@ -135,6 +135,10 @@ defmodule ExAws.Config do end end + defp add_refreshable_metadata(config, _overrides) do + config + end + def retrieve_runtime_config(config) do Enum.reduce(config, config, fn {:host, host}, config -> From 9eca0de3aeeb789930256b38a4b128e5e8815a06 Mon Sep 17 00:00:00 2001 From: Bernard Duggan Date: Tue, 20 Jun 2023 15:21:58 +1000 Subject: [PATCH 034/115] Bump version; update CHANGELOG v2.4.3 --- CHANGELOG.md | 6 ++++++ mix.exs | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e74e33c8..b517e08b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +v2.4.3 +- Switch default behaviour of credential refreshing so that it must be explicitly enabled with +`refreshable: true`. Having it as the default behaviour was causing breaking issues with ignoring +overridesin places they shouldn't have been. +- Update endpoints + v2.4.2 - Add name, request, and response data to telemetry - Force refresh of auth config during long-running streaming operations to avoid failed auth diff --git a/mix.exs b/mix.exs index 43452fde..a0714063 100644 --- a/mix.exs +++ b/mix.exs @@ -2,7 +2,7 @@ defmodule ExAws.Mixfile do use Mix.Project @source_url "https://github.com/ex-aws/ex_aws" - @version "2.4.2" + @version "2.4.3" def project do [ From 2e6730987d401f3b96261fff443ee8c4bb9475a5 Mon Sep 17 00:00:00 2001 From: Wilhelm H Kirschbaum Date: Fri, 23 Jun 2023 19:52:53 +0200 Subject: [PATCH 035/115] Add af-south-1 to sqs endpoints --- priv/endpoints.exs | 1 + 1 file changed, 1 insertion(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index f6caea4a..427abcf0 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -1569,6 +1569,7 @@ "sslCommonName" => "{region}.queue.{dnsSuffix}" }, "endpoints" => %{ + "af-south-1" => %{}, "ap-northeast-1" => %{}, "ap-northeast-2" => %{}, "ap-east-1" => %{}, From 589c979981dbfbd1cd4267699902f29400357809 Mon Sep 17 00:00:00 2001 From: Yegor Shevchenko Date: Fri, 30 Jun 2023 12:26:11 +0100 Subject: [PATCH 036/115] Add eu-central-2 to SQS endpoints --- priv/endpoints.exs | 1 + 1 file changed, 1 insertion(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 427abcf0..1be4c3fb 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -1578,6 +1578,7 @@ "ap-southeast-2" => %{}, "ca-central-1" => %{}, "eu-central-1" => %{}, + "eu-central-2" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, "eu-west-3" => %{}, From 9bc03af5d565804655441b7f32b83b7582266149 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jul 2023 14:30:59 +0000 Subject: [PATCH 037/115] Bump ex_doc from 0.29.4 to 0.30.3 Bumps [ex_doc](https://github.com/elixir-lang/ex_doc) from 0.29.4 to 0.30.3. - [Changelog](https://github.com/elixir-lang/ex_doc/blob/main/CHANGELOG.md) - [Commits](https://github.com/elixir-lang/ex_doc/commits) --- updated-dependencies: - dependency-name: ex_doc dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- mix.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mix.lock b/mix.lock index 961c18ca..09688529 100644 --- a/mix.lock +++ b/mix.lock @@ -8,9 +8,9 @@ "dialyxir": {:hex, :dialyxir, "1.3.0", "fd1672f0922b7648ff9ce7b1b26fcf0ef56dda964a459892ad15f6b4410b5284", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "00b2a4bcd6aa8db9dcb0b38c1225b7277dca9bc370b6438715667071a304696f"}, "dialyze": {:hex, :dialyze, "0.2.1", "9fb71767f96649020d769db7cbd7290059daff23707d6e851e206b1fdfa92f9d", [:mix], [], "hexpm", "f485181fa53229356621261a384963cb47511cccf1454e82ca4fde53274fcd48"}, "earmark": {:hex, :earmark, "1.4.3", "364ca2e9710f6bff494117dbbd53880d84bebb692dafc3a78eb50aa3183f2bfd", [:mix], [], "hexpm", "8cf8a291ebf1c7b9539e3cddb19e9cef066c2441b1640f13c34c1d3cfc825fec"}, - "earmark_parser": {:hex, :earmark_parser, "1.4.31", "a93921cdc6b9b869f519213d5bc79d9e218ba768d7270d46fdcf1c01bacff9e2", [:mix], [], "hexpm", "317d367ee0335ef037a87e46c91a2269fef6306413f731e8ec11fc45a7efd059"}, + "earmark_parser": {:hex, :earmark_parser, "1.4.33", "3c3fd9673bb5dcc9edc28dd90f50c87ce506d1f71b70e3de69aa8154bc695d44", [:mix], [], "hexpm", "2d526833729b59b9fdb85785078697c72ac5e5066350663e5be6a1182da61b8f"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, - "ex_doc": {:hex, :ex_doc, "0.29.4", "6257ecbb20c7396b1fe5accd55b7b0d23f44b6aa18017b415cb4c2b91d997729", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "2c6699a737ae46cb61e4ed012af931b57b699643b24dabe2400a8168414bc4f5"}, + "ex_doc": {:hex, :ex_doc, "0.30.3", "bfca4d340e3b95f2eb26e72e4890da83e2b3a5c5b0e52607333bf5017284b063", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "fbc8702046c1d25edf79de376297e608ac78cdc3a29f075484773ad1718918b6"}, "excoveralls": {:hex, :excoveralls, "0.16.1", "0bd42ed05c7d2f4d180331a20113ec537be509da31fed5c8f7047ce59ee5a7c5", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "dae763468e2008cf7075a64cb1249c97cb4bc71e236c5c2b5e5cdf1cfa2bf138"}, "hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~>2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"}, "httpotion": {:hex, :httpotion, "3.2.0", "007c81c3a15b4860c893dea858eab2ce859a260b47071e85dcf9611a4226324e", [:mix], [{:ibrowse, "== 4.4.0", [hex: :ibrowse, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "726b3fdfc47d7f15302dac5f6a4152a5002fe8230dee8bdd65b8d154b573580b"}, @@ -19,13 +19,13 @@ "jason": {:hex, :jason, "1.4.0", "e855647bc964a44e2f67df589ccf49105ae039d4179db7f6271dfd3843dc27e6", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "79a3791085b2a0f743ca04cec0f7be26443738779d09302e01318f97bdb82121"}, "jsx": {:hex, :jsx, "3.1.0", "d12516baa0bb23a59bb35dccaf02a1bd08243fcbb9efe24f2d9d056ccff71268", [:rebar3], [], "hexpm", "0c5cc8fdc11b53cc25cf65ac6705ad39e54ecc56d1c22e4adb8f5a53fb9427f3"}, "makeup": {:hex, :makeup, "1.1.0", "6b67c8bc2882a6b6a445859952a602afc1a41c2e08379ca057c0f525366fc3ca", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "0a45ed501f4a8897f580eabf99a2e5234ea3e75a4373c8a52824f6e873be57a6"}, - "makeup_elixir": {:hex, :makeup_elixir, "0.16.0", "f8c570a0d33f8039513fbccaf7108c5d750f47d8defd44088371191b76492b0b", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "28b2cbdc13960a46ae9a8858c4bebdec3c9a6d7b4b9e7f4ed1502f8159f338e7"}, - "makeup_erlang": {:hex, :makeup_erlang, "0.1.1", "3fcb7f09eb9d98dc4d208f49cc955a34218fc41ff6b84df7c75b3e6e533cc65f", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "174d0809e98a4ef0b3309256cbf97101c6ec01c4ab0b23e926a9e17df2077cbb"}, + "makeup_elixir": {:hex, :makeup_elixir, "0.16.1", "cc9e3ca312f1cfeccc572b37a09980287e243648108384b97ff2b76e505c3555", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "e127a341ad1b209bd80f7bd1620a15693a9908ed780c3b763bccf7d200c767c6"}, + "makeup_erlang": {:hex, :makeup_erlang, "0.1.2", "ad87296a092a46e03b7e9b0be7631ddcf64c790fa68a9ef5323b6cbb36affc72", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "f3f5a1ca93ce6e092d92b6d9c049bcda58a3b617a8d888f8e7231c85630e8108"}, "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"}, "mime": {:hex, :mime, "1.6.0", "dabde576a497cef4bbdd60aceee8160e02a6c89250d6c0b29e56c0dfb00db3d2", [:mix], [], "hexpm", "31a1a8613f8321143dde1dafc36006a17d28d02bdfecb9e95a880fa7aabd19a7"}, "mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"}, "mox": {:hex, :mox, "1.0.2", "dc2057289ac478b35760ba74165b4b3f402f68803dd5aecd3bfd19c183815d64", [:mix], [], "hexpm", "f9864921b3aaf763c8741b5b8e6f908f44566f1e427b2630e89e9a73b981fef2"}, - "nimble_parsec": {:hex, :nimble_parsec, "1.2.3", "244836e6e3f1200c7f30cb56733fd808744eca61fd182f731eac4af635cc6d0b", [:mix], [], "hexpm", "c8d789e39b9131acf7b99291e93dae60ab48ef14a7ee9d58c6964f59efb570b0"}, + "nimble_parsec": {:hex, :nimble_parsec, "1.3.1", "2c54013ecf170e249e9291ed0a62e5832f70a476c61da16f6aac6dca0189f2af", [:mix], [], "hexpm", "2682e3c0b2eb58d90c6375fc0cc30bc7be06f365bf72608804fb9cffa5e1b167"}, "parse_trans": {:hex, :parse_trans, "3.3.1", "16328ab840cc09919bd10dab29e431da3af9e9e7e7e6f0089dd5a2d2820011d8", [:rebar3], [], "hexpm", "07cd9577885f56362d414e8c4c4e6bdf10d43a8767abb92d24cbe8b24c54888b"}, "plug": {:hex, :plug, "1.12.1", "645678c800601d8d9f27ad1aebba1fdb9ce5b2623ddb961a074da0b96c35187d", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "d57e799a777bc20494b784966dc5fbda91eb4a09f571f76545b72a634ce0d30b"}, "plug_cowboy": {:hex, :plug_cowboy, "2.5.1", "7cc96ff645158a94cf3ec9744464414f02287f832d6847079adfe0b58761cbd0", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.7", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "107d0a5865fa92bcb48e631cc0729ae9ccfa0a9f9a1bd8f01acb513abf1c2d64"}, From 01aac70261f6ddb61f1c59c223b4d4366b9d2670 Mon Sep 17 00:00:00 2001 From: Sam Bobroff Date: Mon, 17 Jul 2023 11:40:38 +1000 Subject: [PATCH 038/115] Add support for Chime SDK Media Pipelines API --- lib/ex_aws/config/defaults.ex | 5 +++++ priv/endpoints.exs | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/lib/ex_aws/config/defaults.ex b/lib/ex_aws/config/defaults.ex index 3241008b..633bee57 100644 --- a/lib/ex_aws/config/defaults.ex +++ b/lib/ex_aws/config/defaults.ex @@ -72,6 +72,11 @@ defmodule ExAws.Config.Defaults do |> Map.merge(defaults(:geo)) end + def defaults(:"chime-sdk-media-pipelines") do + %{service_override: :chime} + |> Map.merge(defaults(:chime)) + end + def defaults(_) do Map.merge( %{ diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 1be4c3fb..d37414ae 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -1378,6 +1378,23 @@ "isRegionalized" => false, "partitionEndpoint" => "aws-global" }, + "chime-sdk-media-pipelines" => %{ + "defaults" => %{"signatureVersions" => ["v4"]}, + "endpoints" => %{ + "ap-southeast-1" => %{ + "hostname" => "media-pipelines-chime.ap-southeast-1.amazonaws.com" + }, + "eu-central-1" => %{ + "hostname" => "media-pipelines-chime.eu-central-1.amazonaws.com" + }, + "us-east-1" => %{ + "hostname" => "media-pipelines-chime.us-east-1.amazonaws.com" + }, + "us-west-2" => %{ + "hostname" => "media-pipelines-chime.us-west-2.amazonaws.com" + } + } + }, "s3" => %{ "defaults" => %{"protocols" => ["http", "https"], "signatureVersions" => ["s3v4"]}, "endpoints" => %{ From 29c0510d9534596f6e0fcef92d1dfdd7e16887c7 Mon Sep 17 00:00:00 2001 From: Bernard Duggan Date: Fri, 21 Jul 2023 12:40:58 +1000 Subject: [PATCH 039/115] Update changelog and bump version v2.4.4 --- CHANGELOG.md | 4 ++++ mix.exs | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b517e08b..37df753d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +v2.4.4 +- Endpoint updates +- Add new endpoints for Chime SDK Media Pipelines API + v2.4.3 - Switch default behaviour of credential refreshing so that it must be explicitly enabled with `refreshable: true`. Having it as the default behaviour was causing breaking issues with ignoring diff --git a/mix.exs b/mix.exs index a0714063..31c19e47 100644 --- a/mix.exs +++ b/mix.exs @@ -2,7 +2,7 @@ defmodule ExAws.Mixfile do use Mix.Project @source_url "https://github.com/ex-aws/ex_aws" - @version "2.4.3" + @version "2.4.4" def project do [ From 8fc6ac3cf3b157009340b1cb3197be1d9df974d5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Aug 2023 14:37:48 +0000 Subject: [PATCH 040/115] Bump excoveralls from 0.16.1 to 0.17.0 Bumps [excoveralls](https://github.com/parroty/excoveralls) from 0.16.1 to 0.17.0. - [Release notes](https://github.com/parroty/excoveralls/releases) - [Changelog](https://github.com/parroty/excoveralls/blob/master/CHANGELOG.md) - [Commits](https://github.com/parroty/excoveralls/compare/v0.16.1...v0.17.0) --- updated-dependencies: - dependency-name: excoveralls dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- mix.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mix.lock b/mix.lock index 09688529..0e0de09c 100644 --- a/mix.lock +++ b/mix.lock @@ -11,12 +11,12 @@ "earmark_parser": {:hex, :earmark_parser, "1.4.33", "3c3fd9673bb5dcc9edc28dd90f50c87ce506d1f71b70e3de69aa8154bc695d44", [:mix], [], "hexpm", "2d526833729b59b9fdb85785078697c72ac5e5066350663e5be6a1182da61b8f"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, "ex_doc": {:hex, :ex_doc, "0.30.3", "bfca4d340e3b95f2eb26e72e4890da83e2b3a5c5b0e52607333bf5017284b063", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "fbc8702046c1d25edf79de376297e608ac78cdc3a29f075484773ad1718918b6"}, - "excoveralls": {:hex, :excoveralls, "0.16.1", "0bd42ed05c7d2f4d180331a20113ec537be509da31fed5c8f7047ce59ee5a7c5", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "dae763468e2008cf7075a64cb1249c97cb4bc71e236c5c2b5e5cdf1cfa2bf138"}, + "excoveralls": {:hex, :excoveralls, "0.17.0", "279f124dba347903bb654bc40745c493ae265d45040001b4899ea1edf88078c7", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "08b638d114387a888f9cb8d65f2a0021ec04c3e447b793efa7c1e734aba93004"}, "hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~>2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"}, "httpotion": {:hex, :httpotion, "3.2.0", "007c81c3a15b4860c893dea858eab2ce859a260b47071e85dcf9611a4226324e", [:mix], [{:ibrowse, "== 4.4.0", [hex: :ibrowse, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "726b3fdfc47d7f15302dac5f6a4152a5002fe8230dee8bdd65b8d154b573580b"}, "ibrowse": {:hex, :ibrowse, "4.4.0", "2d923325efe0d2cb09b9c6a047b2835a5eda69d8a47ed6ff8bc03628b764e991", [:rebar3], [], "hexpm", "6a8e5988872086f0506bef68311493551ac5beae7c06ba2a00d5e9f97a60f1c2"}, "idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"}, - "jason": {:hex, :jason, "1.4.0", "e855647bc964a44e2f67df589ccf49105ae039d4179db7f6271dfd3843dc27e6", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "79a3791085b2a0f743ca04cec0f7be26443738779d09302e01318f97bdb82121"}, + "jason": {:hex, :jason, "1.4.1", "af1504e35f629ddcdd6addb3513c3853991f694921b1b9368b0bd32beb9f1b63", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "fbb01ecdfd565b56261302f7e1fcc27c4fb8f32d56eab74db621fc154604a7a1"}, "jsx": {:hex, :jsx, "3.1.0", "d12516baa0bb23a59bb35dccaf02a1bd08243fcbb9efe24f2d9d056ccff71268", [:rebar3], [], "hexpm", "0c5cc8fdc11b53cc25cf65ac6705ad39e54ecc56d1c22e4adb8f5a53fb9427f3"}, "makeup": {:hex, :makeup, "1.1.0", "6b67c8bc2882a6b6a445859952a602afc1a41c2e08379ca057c0f525366fc3ca", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "0a45ed501f4a8897f580eabf99a2e5234ea3e75a4373c8a52824f6e873be57a6"}, "makeup_elixir": {:hex, :makeup_elixir, "0.16.1", "cc9e3ca312f1cfeccc572b37a09980287e243648108384b97ff2b76e505c3555", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "e127a341ad1b209bd80f7bd1620a15693a9908ed780c3b763bccf7d200c767c6"}, @@ -32,7 +32,7 @@ "plug_crypto": {:hex, :plug_crypto, "1.2.2", "05654514ac717ff3a1843204b424477d9e60c143406aa94daf2274fdd280794d", [:mix], [], "hexpm", "87631c7ad914a5a445f0a3809f99b079113ae4ed4b867348dd9eec288cecb6db"}, "poison": {:hex, :poison, "4.0.1", "bcb755a16fac91cad79bfe9fc3585bb07b9331e50cfe3420a24bcc2d735709ae", [:mix], [], "hexpm"}, "ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"}, - "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"}, + "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, "sweet_xml": {:hex, :sweet_xml, "0.7.3", "debb256781c75ff6a8c5cbf7981146312b66f044a2898f453709a53e5031b45b", [:mix], [], "hexpm", "e110c867a1b3fe74bfc7dd9893aa851f0eed5518d0d7cad76d7baafd30e4f5ba"}, "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"}, "unicode_util_compat": {:hex, :unicode_util_compat, "0.7.0", "bc84380c9ab48177092f43ac89e4dfa2c6d62b40b8bd132b1059ecc7232f9a78", [:rebar3], [], "hexpm", "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521"}, From 57d9f5d573f074f20ea09865b3fd4d03e8ff83a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20S=C5=82ota?= Date: Wed, 9 Aug 2023 19:43:51 +0200 Subject: [PATCH 041/115] Add support for me-central-1 region for S3 --- priv/endpoints.exs | 1 + 1 file changed, 1 insertion(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index d37414ae..f8ad2f55 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -1431,6 +1431,7 @@ "eu-west-2" => %{}, "eu-west-3" => %{}, "eu-north-1" => %{}, + "me-central-1" => %{}, "s3-external-1" => %{ "credentialScope" => %{"region" => "us-east-1"}, "hostname" => "s3-external-1.amazonaws.com", From 757d084815bbf310baf3b007aaf87116efc9ce11 Mon Sep 17 00:00:00 2001 From: Akos Marton Date: Fri, 11 Aug 2023 14:49:58 +0200 Subject: [PATCH 042/115] Add af-south-1 to KMS. --- priv/endpoints.exs | 1 + 1 file changed, 1 insertion(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index d37414ae..184c4fb3 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -963,6 +963,7 @@ }, "kms" => %{ "endpoints" => %{ + "af-south-1" => %{}, "ap-northeast-1" => %{}, "ap-northeast-2" => %{}, "ap-east-1" => %{}, From bf0ab0456c6ba2187360fa195cd4fe4e4bd7ed23 Mon Sep 17 00:00:00 2001 From: Biser Z Date: Sun, 13 Aug 2023 01:50:37 +0300 Subject: [PATCH 043/115] Update endpoints.exs --- priv/endpoints.exs | 1 + 1 file changed, 1 insertion(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index d37414ae..cef36822 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -1600,6 +1600,7 @@ "eu-west-2" => %{}, "eu-west-3" => %{}, "eu-north-1" => %{}, + "eu-south-1" => %{}, "fips-us-east-1" => %{}, "fips-us-east-2" => %{}, "fips-us-west-1" => %{}, From 042f29aa048e1e2a1f57103074c5f2c332f2d30c Mon Sep 17 00:00:00 2001 From: Bernard Duggan Date: Tue, 15 Aug 2023 09:29:22 +1000 Subject: [PATCH 044/115] Use looser version restrictions; fix DDB test config --- .github/workflows/on-push.yml | 8 ++++---- .tool-versions | 2 +- config/test.exs | 4 ++-- lib/ex_aws/utils.ex | 2 +- mix.exs | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/on-push.yml b/.github/workflows/on-push.yml index 9342c959..8a9766b5 100644 --- a/.github/workflows/on-push.yml +++ b/.github/workflows/on-push.yml @@ -9,8 +9,8 @@ jobs: runs-on: ubuntu-20.04 strategy: matrix: - otp: ["23.3.4.6"] - elixir: ["1.10.4", "1.11.4", "1.12.3", "1.13.4", "1.14.2"] + otp: ["24"] + elixir: ["1.11", "1.12", "1.13", "1.14", "1.15"] steps: - uses: actions/checkout@v2 - uses: erlef/setup-beam@v1 @@ -25,7 +25,7 @@ jobs: - run: mix deps.get - run: mix compile - run: mix format --check-formatted - if: matrix.elixir == '1.14.2' # Only check formatting with the latest verison + if: matrix.elixir == '1.15' # Only check formatting with the latest verison - run: mix dialyzer - if: matrix.elixir == '1.14.2' + if: matrix.elixir == '1.15' - run: mix test diff --git a/.tool-versions b/.tool-versions index 8e408b44..19876365 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1 @@ -elixir 1.14.2 +elixir 1.15 diff --git a/config/test.exs b/config/test.exs index dd8b3653..d20c287c 100644 --- a/config/test.exs +++ b/config/test.exs @@ -4,8 +4,8 @@ config :logger, level: :warn config :ex_aws, json_codec: Test.JSONCodec, - access_key_id: ["test_key_id"], - secret_access_key: ["secret_access_key"] + access_key_id: "testkeyid", + secret_access_key: "secretaccesskey" config :ex_aws, :kinesis, scheme: "https://", diff --git a/lib/ex_aws/utils.ex b/lib/ex_aws/utils.ex index dceeb8b4..a9a179ed 100644 --- a/lib/ex_aws/utils.ex +++ b/lib/ex_aws/utils.ex @@ -41,7 +41,7 @@ defmodule ExAws.Utils do def camelize(string) do string |> to_charlist - |> Enum.reduce({true, ''}, fn + |> Enum.reduce({true, ~c""}, fn ?_, {_, acc} -> {true, acc} ?/, {_, acc} -> {false, [?. | acc]} char, {false, acc} -> {false, [char | acc]} diff --git a/mix.exs b/mix.exs index 31c19e47..2a82c349 100644 --- a/mix.exs +++ b/mix.exs @@ -8,7 +8,7 @@ defmodule ExAws.Mixfile do [ app: :ex_aws, version: @version, - elixir: "~> 1.10", + elixir: "~> 1.11", elixirc_paths: elixirc_paths(Mix.env()), description: "Generic AWS client", name: "ExAws", From 3952a1c534dc806906329c6c16e8e5dd7030cd1e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Aug 2023 23:49:30 +0000 Subject: [PATCH 045/115] Bump ex_doc from 0.30.3 to 0.30.5 Bumps [ex_doc](https://github.com/elixir-lang/ex_doc) from 0.30.3 to 0.30.5. - [Changelog](https://github.com/elixir-lang/ex_doc/blob/main/CHANGELOG.md) - [Commits](https://github.com/elixir-lang/ex_doc/compare/v0.30.3...v0.30.5) --- updated-dependencies: - dependency-name: ex_doc dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index 0e0de09c..9be140d6 100644 --- a/mix.lock +++ b/mix.lock @@ -10,7 +10,7 @@ "earmark": {:hex, :earmark, "1.4.3", "364ca2e9710f6bff494117dbbd53880d84bebb692dafc3a78eb50aa3183f2bfd", [:mix], [], "hexpm", "8cf8a291ebf1c7b9539e3cddb19e9cef066c2441b1640f13c34c1d3cfc825fec"}, "earmark_parser": {:hex, :earmark_parser, "1.4.33", "3c3fd9673bb5dcc9edc28dd90f50c87ce506d1f71b70e3de69aa8154bc695d44", [:mix], [], "hexpm", "2d526833729b59b9fdb85785078697c72ac5e5066350663e5be6a1182da61b8f"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, - "ex_doc": {:hex, :ex_doc, "0.30.3", "bfca4d340e3b95f2eb26e72e4890da83e2b3a5c5b0e52607333bf5017284b063", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "fbc8702046c1d25edf79de376297e608ac78cdc3a29f075484773ad1718918b6"}, + "ex_doc": {:hex, :ex_doc, "0.30.5", "aa6da96a5c23389d7dc7c381eba862710e108cee9cfdc629b7ec021313900e9e", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "88a1e115dcb91cefeef7e22df4a6ebbe4634fbf98b38adcbc25c9607d6d9d8e6"}, "excoveralls": {:hex, :excoveralls, "0.17.0", "279f124dba347903bb654bc40745c493ae265d45040001b4899ea1edf88078c7", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "08b638d114387a888f9cb8d65f2a0021ec04c3e447b793efa7c1e734aba93004"}, "hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~>2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"}, "httpotion": {:hex, :httpotion, "3.2.0", "007c81c3a15b4860c893dea858eab2ce859a260b47071e85dcf9611a4226324e", [:mix], [{:ibrowse, "== 4.4.0", [hex: :ibrowse, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "726b3fdfc47d7f15302dac5f6a4152a5002fe8230dee8bdd65b8d154b573580b"}, From f3272c7b9eac2b0061bca11a022c20b73de5e515 Mon Sep 17 00:00:00 2001 From: Wilhelm H Kirschbaum Date: Mon, 26 Jun 2023 09:42:12 +0200 Subject: [PATCH 046/115] Bump min elixir version Since Elixir 1.15 is out, 1.10 is not supported anymore. This also allows us to get rid of deprecation warnings. https://hexdocs.pm/elixir/1.15.0/compatibility-and-deprecations.html --- .github/workflows/on-push.yml | 25 ++++++++++++++++++++----- CHANGELOG.md | 3 +++ config/test.exs | 2 +- lib/ex_aws/request.ex | 4 ++-- mix.exs | 2 +- mix.lock | 12 ++++++------ 6 files changed, 33 insertions(+), 15 deletions(-) diff --git a/.github/workflows/on-push.yml b/.github/workflows/on-push.yml index 8a9766b5..33c50c05 100644 --- a/.github/workflows/on-push.yml +++ b/.github/workflows/on-push.yml @@ -9,23 +9,38 @@ jobs: runs-on: ubuntu-20.04 strategy: matrix: - otp: ["24"] - elixir: ["1.11", "1.12", "1.13", "1.14", "1.15"] + otp: [23.x, 24.x, 25.x] + elixir: [1.11.x, 1.12.x, 1.13.x, 1.14.x, 1.15.x] + exclude: + - otp: 25.x + elixir: 1.11.x + - otp: 25.x + elixir: 1.12.x + - otp: 23.x + elixir: 1.15.x + steps: - uses: actions/checkout@v2 - uses: erlef/setup-beam@v1 with: otp-version: ${{matrix.otp}} elixir-version: ${{matrix.elixir}} - version-type: strict - uses: rrainn/dynamodb-action@v2.0.0 with: port: 8000 cors: "*" + - uses: actions/cache@v3 + with: + path: | + deps + _build + key: ${{ runner.os }}-mix-${{matrix.otp}}-${{matrix.elixir}}-${{ hashFiles('**/mix.lock') }} + restore-keys: | + ${{ runner.os }}-mix-${{matrix.otp}}-${{matrix.elixir}}- - run: mix deps.get - run: mix compile - run: mix format --check-formatted - if: matrix.elixir == '1.15' # Only check formatting with the latest verison + if: matrix.elixir == '1.15.x' # Only check formatting with the latest verison - run: mix dialyzer - if: matrix.elixir == '1.15' + if: matrix.elixir == '1.15.x' - run: mix test diff --git a/CHANGELOG.md b/CHANGELOG.md index 37df753d..fdfd9ce2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +v2.5.0 +- [Breaking] Bump minimum elixir version to 1.11 + v2.4.4 - Endpoint updates - Add new endpoints for Chime SDK Media Pipelines API diff --git a/config/test.exs b/config/test.exs index d20c287c..5737ee9d 100644 --- a/config/test.exs +++ b/config/test.exs @@ -1,6 +1,6 @@ import Config -config :logger, level: :warn +config :logger, level: :warning config :ex_aws, json_codec: Test.JSONCodec, diff --git a/lib/ex_aws/request.ex b/lib/ex_aws/request.ex index 350b1be0..db0af82e 100644 --- a/lib/ex_aws/request.ex +++ b/lib/ex_aws/request.ex @@ -40,7 +40,7 @@ defmodule ExAws.Request do {:ok, resp} {:ok, %{status_code: status} = _resp} when status == 301 -> - Logger.warn("ExAws: Received redirect, did you specify the correct region?") + Logger.warning("ExAws: Received redirect, did you specify the correct region?") {:error, {:http_error, status, "redirected"}} {:ok, %{status_code: status} = resp} when status in 400..499 -> @@ -75,7 +75,7 @@ defmodule ExAws.Request do ) {:error, %{reason: reason}} -> - Logger.warn( + Logger.warning( "ExAws: HTTP ERROR: #{inspect(reason)} for URL: #{inspect(safe_url)} ATTEMPT: #{attempt}" ) diff --git a/mix.exs b/mix.exs index 2a82c349..f89d1145 100644 --- a/mix.exs +++ b/mix.exs @@ -2,7 +2,7 @@ defmodule ExAws.Mixfile do use Mix.Project @source_url "https://github.com/ex-aws/ex_aws" - @version "2.4.4" + @version "2.5.0" def project do [ diff --git a/mix.lock b/mix.lock index 9be140d6..febaf353 100644 --- a/mix.lock +++ b/mix.lock @@ -2,9 +2,9 @@ "bypass": {:hex, :bypass, "2.1.0", "909782781bf8e20ee86a9cabde36b259d44af8b9f38756173e8f5e2e1fabb9b1", [:mix], [{:plug, "~> 1.7", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.0", [hex: :plug_cowboy, repo: "hexpm", optional: false]}, {:ranch, "~> 1.3", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "d9b5df8fa5b7a6efa08384e9bbecfe4ce61c77d28a4282f79e02f1ef78d96b80"}, "certifi": {:hex, :certifi, "2.9.0", "6f2a475689dd47f19fb74334859d460a2dc4e3252a3324bd2111b8f0429e7e21", [:rebar3], [], "hexpm", "266da46bdb06d6c6d35fde799bcb28d36d985d424ad7c08b5bb48f5b5cdd4641"}, "configparser_ex": {:hex, :configparser_ex, "4.0.0", "17e2b831cfa33a08c56effc610339b2986f0d82a9caa0ed18880a07658292ab6", [:mix], [], "hexpm", "02e6d1a559361a063cba7b75bc3eb2d6ad7e62730c551cc4703541fd11e65e5b"}, - "cowboy": {:hex, :cowboy, "2.9.0", "865dd8b6607e14cf03282e10e934023a1bd8be6f6bacf921a7e2a96d800cd452", [:make, :rebar3], [{:cowlib, "2.11.0", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "2c729f934b4e1aa149aff882f57c6372c15399a20d54f65c8d67bef583021bde"}, + "cowboy": {:hex, :cowboy, "2.10.0", "ff9ffeff91dae4ae270dd975642997afe2a1179d94b1887863e43f681a203e26", [:make, :rebar3], [{:cowlib, "2.12.1", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "3afdccb7183cc6f143cb14d3cf51fa00e53db9ec80cdcd525482f5e99bc41d6b"}, "cowboy_telemetry": {:hex, :cowboy_telemetry, "0.4.0", "f239f68b588efa7707abce16a84d0d2acf3a0f50571f8bb7f56a15865aae820c", [:rebar3], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de"}, - "cowlib": {:hex, :cowlib, "2.11.0", "0b9ff9c346629256c42ebe1eeb769a83c6cb771a6ee5960bd110ab0b9b872063", [:make, :rebar3], [], "hexpm", "2b3e9da0b21c4565751a6d4901c20d1b4cc25cbb7fd50d91d2ab6dd287bc86a9"}, + "cowlib": {:hex, :cowlib, "2.12.1", "a9fa9a625f1d2025fe6b462cb865881329b5caff8f1854d1cbc9f9533f00e1e1", [:make, :rebar3], [], "hexpm", "163b73f6367a7341b33c794c4e88e7dbfe6498ac42dcd69ef44c5bc5507c8db0"}, "dialyxir": {:hex, :dialyxir, "1.3.0", "fd1672f0922b7648ff9ce7b1b26fcf0ef56dda964a459892ad15f6b4410b5284", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "00b2a4bcd6aa8db9dcb0b38c1225b7277dca9bc370b6438715667071a304696f"}, "dialyze": {:hex, :dialyze, "0.2.1", "9fb71767f96649020d769db7cbd7290059daff23707d6e851e206b1fdfa92f9d", [:mix], [], "hexpm", "f485181fa53229356621261a384963cb47511cccf1454e82ca4fde53274fcd48"}, "earmark": {:hex, :earmark, "1.4.3", "364ca2e9710f6bff494117dbbd53880d84bebb692dafc3a78eb50aa3183f2bfd", [:mix], [], "hexpm", "8cf8a291ebf1c7b9539e3cddb19e9cef066c2441b1640f13c34c1d3cfc825fec"}, @@ -22,14 +22,14 @@ "makeup_elixir": {:hex, :makeup_elixir, "0.16.1", "cc9e3ca312f1cfeccc572b37a09980287e243648108384b97ff2b76e505c3555", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "e127a341ad1b209bd80f7bd1620a15693a9908ed780c3b763bccf7d200c767c6"}, "makeup_erlang": {:hex, :makeup_erlang, "0.1.2", "ad87296a092a46e03b7e9b0be7631ddcf64c790fa68a9ef5323b6cbb36affc72", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "f3f5a1ca93ce6e092d92b6d9c049bcda58a3b617a8d888f8e7231c85630e8108"}, "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"}, - "mime": {:hex, :mime, "1.6.0", "dabde576a497cef4bbdd60aceee8160e02a6c89250d6c0b29e56c0dfb00db3d2", [:mix], [], "hexpm", "31a1a8613f8321143dde1dafc36006a17d28d02bdfecb9e95a880fa7aabd19a7"}, + "mime": {:hex, :mime, "2.0.5", "dc34c8efd439abe6ae0343edbb8556f4d63f178594894720607772a041b04b02", [:mix], [], "hexpm", "da0d64a365c45bc9935cc5c8a7fc5e49a0e0f9932a761c55d6c52b142780a05c"}, "mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"}, "mox": {:hex, :mox, "1.0.2", "dc2057289ac478b35760ba74165b4b3f402f68803dd5aecd3bfd19c183815d64", [:mix], [], "hexpm", "f9864921b3aaf763c8741b5b8e6f908f44566f1e427b2630e89e9a73b981fef2"}, "nimble_parsec": {:hex, :nimble_parsec, "1.3.1", "2c54013ecf170e249e9291ed0a62e5832f70a476c61da16f6aac6dca0189f2af", [:mix], [], "hexpm", "2682e3c0b2eb58d90c6375fc0cc30bc7be06f365bf72608804fb9cffa5e1b167"}, "parse_trans": {:hex, :parse_trans, "3.3.1", "16328ab840cc09919bd10dab29e431da3af9e9e7e7e6f0089dd5a2d2820011d8", [:rebar3], [], "hexpm", "07cd9577885f56362d414e8c4c4e6bdf10d43a8767abb92d24cbe8b24c54888b"}, - "plug": {:hex, :plug, "1.12.1", "645678c800601d8d9f27ad1aebba1fdb9ce5b2623ddb961a074da0b96c35187d", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "d57e799a777bc20494b784966dc5fbda91eb4a09f571f76545b72a634ce0d30b"}, - "plug_cowboy": {:hex, :plug_cowboy, "2.5.1", "7cc96ff645158a94cf3ec9744464414f02287f832d6847079adfe0b58761cbd0", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.7", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "107d0a5865fa92bcb48e631cc0729ae9ccfa0a9f9a1bd8f01acb513abf1c2d64"}, - "plug_crypto": {:hex, :plug_crypto, "1.2.2", "05654514ac717ff3a1843204b424477d9e60c143406aa94daf2274fdd280794d", [:mix], [], "hexpm", "87631c7ad914a5a445f0a3809f99b079113ae4ed4b867348dd9eec288cecb6db"}, + "plug": {:hex, :plug, "1.14.2", "cff7d4ec45b4ae176a227acd94a7ab536d9b37b942c8e8fa6dfc0fff98ff4d80", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "842fc50187e13cf4ac3b253d47d9474ed6c296a8732752835ce4a86acdf68d13"}, + "plug_cowboy": {:hex, :plug_cowboy, "2.6.1", "9a3bbfceeb65eff5f39dab529e5cd79137ac36e913c02067dba3963a26efe9b2", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "de36e1a21f451a18b790f37765db198075c25875c64834bcc82d90b309eb6613"}, + "plug_crypto": {:hex, :plug_crypto, "1.2.5", "918772575e48e81e455818229bf719d4ab4181fcbf7f85b68a35620f78d89ced", [:mix], [], "hexpm", "26549a1d6345e2172eb1c233866756ae44a9609bd33ee6f99147ab3fd87fd842"}, "poison": {:hex, :poison, "4.0.1", "bcb755a16fac91cad79bfe9fc3585bb07b9331e50cfe3420a24bcc2d735709ae", [:mix], [], "hexpm"}, "ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"}, "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, From b43f1fc8956c35e440e37d76694a168fe1768cfa Mon Sep 17 00:00:00 2001 From: Wilhelm H Kirschbaum Date: Mon, 26 Jun 2023 21:56:33 +0200 Subject: [PATCH 047/115] Add Req compatibility and replace Httpotion as an example Httpotion has been retired and this introduces a new alternative. To make compatibility easier there is also a new map_response function. * lib/ex_aws/request.ex (map_response): New method. (do_request): Add map_response call after http_client.request. * lib/ex_aws/request.ex: Update documentation. * mix.exs: Add Req and remove Httpotion. * test/alternate_helper.exs: Replace Httpotion. --- lib/ex_aws/request.ex | 9 +++++++++ lib/ex_aws/request/http_client.ex | 13 +++---------- mix.exs | 2 +- mix.lock | 11 +++++++++-- test/alternate_helper.exs | 11 ++++------- 5 files changed, 26 insertions(+), 20 deletions(-) diff --git a/lib/ex_aws/request.ex b/lib/ex_aws/request.ex index db0af82e..b120a925 100644 --- a/lib/ex_aws/request.ex +++ b/lib/ex_aws/request.ex @@ -113,6 +113,7 @@ defmodule ExAws.Request do full_headers, Map.get(config, :http_opts, []) ) + |> map_response() stop_metadata = case result do @@ -138,6 +139,14 @@ defmodule ExAws.Request do defp extract_error({:error, error}), do: error defp extract_error(error), do: error + defp map_response({:ok, %{status: status, body: body, headers: headers}}) do + # Req and Finch uses status as a key. + + {:ok, %{status_code: status, body: body, headers: headers}} + end + + defp map_response(response), do: response + def client_error(%{status_code: status, body: body} = error, json_codec) do case json_codec.decode(body) do {:ok, %{"__type" => error_type, "message" => message} = err} -> diff --git a/lib/ex_aws/request/http_client.ex b/lib/ex_aws/request/http_client.ex index 7f1974a2..c6cda214 100644 --- a/lib/ex_aws/request/http_client.ex +++ b/lib/ex_aws/request/http_client.ex @@ -15,19 +15,12 @@ defmodule ExAws.Request.HttpClient do ``` config :ex_aws, - http_client: ExAws.Request.HTTPotion + http_client: ExAws.Request.Req - defmodule ExAws.Request.HTTPotion do + defmodule ExAws.Request.Req do @behaviour ExAws.Request.HttpClient def request(method, url, body, headers, _http_opts) do - case HTTPotion.request(method, url, - body: body, - headers: headers, - ibrowse: [headers_as_is: true] - ) do - %HTTPotion.Response{} = response -> {:ok, response} - %HTTPotion.ErrorResponse{} = error -> {:error, %{reason: error}} - end + Req.request(method: method, url: url, body: body, headers: headers) end end diff --git a/mix.exs b/mix.exs index f89d1145..721f2726 100644 --- a/mix.exs +++ b/mix.exs @@ -51,7 +51,7 @@ defmodule ExAws.Mixfile do {:mox, "~> 1.0", only: :test}, {:sweet_xml, "~> 0.7", optional: true}, {:excoveralls, "~> 0.10", only: :test}, - {:httpotion, "~> 3.1", only: :test} + {:req, "~> 0.3", only: :test} ] end diff --git a/mix.lock b/mix.lock index febaf353..c5d06abe 100644 --- a/mix.lock +++ b/mix.lock @@ -1,5 +1,6 @@ %{ "bypass": {:hex, :bypass, "2.1.0", "909782781bf8e20ee86a9cabde36b259d44af8b9f38756173e8f5e2e1fabb9b1", [:mix], [{:plug, "~> 1.7", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.0", [hex: :plug_cowboy, repo: "hexpm", optional: false]}, {:ranch, "~> 1.3", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "d9b5df8fa5b7a6efa08384e9bbecfe4ce61c77d28a4282f79e02f1ef78d96b80"}, + "castore": {:hex, :castore, "1.0.3", "7130ba6d24c8424014194676d608cb989f62ef8039efd50ff4b3f33286d06db8", [:mix], [], "hexpm", "680ab01ef5d15b161ed6a95449fac5c6b8f60055677a8e79acf01b27baa4390b"}, "certifi": {:hex, :certifi, "2.9.0", "6f2a475689dd47f19fb74334859d460a2dc4e3252a3324bd2111b8f0429e7e21", [:rebar3], [], "hexpm", "266da46bdb06d6c6d35fde799bcb28d36d985d424ad7c08b5bb48f5b5cdd4641"}, "configparser_ex": {:hex, :configparser_ex, "4.0.0", "17e2b831cfa33a08c56effc610339b2986f0d82a9caa0ed18880a07658292ab6", [:mix], [], "hexpm", "02e6d1a559361a063cba7b75bc3eb2d6ad7e62730c551cc4703541fd11e65e5b"}, "cowboy": {:hex, :cowboy, "2.10.0", "ff9ffeff91dae4ae270dd975642997afe2a1179d94b1887863e43f681a203e26", [:make, :rebar3], [{:cowlib, "2.12.1", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "3afdccb7183cc6f143cb14d3cf51fa00e53db9ec80cdcd525482f5e99bc41d6b"}, @@ -12,8 +13,10 @@ "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, "ex_doc": {:hex, :ex_doc, "0.30.5", "aa6da96a5c23389d7dc7c381eba862710e108cee9cfdc629b7ec021313900e9e", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "88a1e115dcb91cefeef7e22df4a6ebbe4634fbf98b38adcbc25c9607d6d9d8e6"}, "excoveralls": {:hex, :excoveralls, "0.17.0", "279f124dba347903bb654bc40745c493ae265d45040001b4899ea1edf88078c7", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "08b638d114387a888f9cb8d65f2a0021ec04c3e447b793efa7c1e734aba93004"}, - "hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~>2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"}, - "httpotion": {:hex, :httpotion, "3.2.0", "007c81c3a15b4860c893dea858eab2ce859a260b47071e85dcf9611a4226324e", [:mix], [{:ibrowse, "== 4.4.0", [hex: :ibrowse, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "726b3fdfc47d7f15302dac5f6a4152a5002fe8230dee8bdd65b8d154b573580b"}, + "finch": {:hex, :finch, "0.16.0", "40733f02c89f94a112518071c0a91fe86069560f5dbdb39f9150042f44dcfb1a", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.3", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 0.2.6 or ~> 1.0", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f660174c4d519e5fec629016054d60edd822cdfe2b7270836739ac2f97735ec5"}, + "hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~> 2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~> 6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~> 1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~> 1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~> 0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"}, + "hpax": {:hex, :hpax, "0.1.2", "09a75600d9d8bbd064cdd741f21fc06fc1f4cf3d0fcc335e5aa19be1a7235c84", [:mix], [], "hexpm", "2c87843d5a23f5f16748ebe77969880e29809580efdaccd615cd3bed628a8c13"}, + "httpotion": {:hex, :httpotion, "3.2.0", "007c81c3a15b4860c893dea858eab2ce859a260b47071e85dcf9611a4226324e", [:mix], [{:ibrowse, "4.4.0", [hex: :ibrowse, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "726b3fdfc47d7f15302dac5f6a4152a5002fe8230dee8bdd65b8d154b573580b"}, "ibrowse": {:hex, :ibrowse, "4.4.0", "2d923325efe0d2cb09b9c6a047b2835a5eda69d8a47ed6ff8bc03628b764e991", [:rebar3], [], "hexpm", "6a8e5988872086f0506bef68311493551ac5beae7c06ba2a00d5e9f97a60f1c2"}, "idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"}, "jason": {:hex, :jason, "1.4.1", "af1504e35f629ddcdd6addb3513c3853991f694921b1b9368b0bd32beb9f1b63", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "fbb01ecdfd565b56261302f7e1fcc27c4fb8f32d56eab74db621fc154604a7a1"}, @@ -24,14 +27,18 @@ "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"}, "mime": {:hex, :mime, "2.0.5", "dc34c8efd439abe6ae0343edbb8556f4d63f178594894720607772a041b04b02", [:mix], [], "hexpm", "da0d64a365c45bc9935cc5c8a7fc5e49a0e0f9932a761c55d6c52b142780a05c"}, "mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"}, + "mint": {:hex, :mint, "1.5.1", "8db5239e56738552d85af398798c80648db0e90f343c8469f6c6d8898944fb6f", [:mix], [{:castore, "~> 0.1.0 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:hpax, "~> 0.1.1", [hex: :hpax, repo: "hexpm", optional: false]}], "hexpm", "4a63e1e76a7c3956abd2c72f370a0d0aecddc3976dea5c27eccbecfa5e7d5b1e"}, "mox": {:hex, :mox, "1.0.2", "dc2057289ac478b35760ba74165b4b3f402f68803dd5aecd3bfd19c183815d64", [:mix], [], "hexpm", "f9864921b3aaf763c8741b5b8e6f908f44566f1e427b2630e89e9a73b981fef2"}, + "nimble_options": {:hex, :nimble_options, "1.0.2", "92098a74df0072ff37d0c12ace58574d26880e522c22801437151a159392270e", [:mix], [], "hexpm", "fd12a8db2021036ce12a309f26f564ec367373265b53e25403f0ee697380f1b8"}, "nimble_parsec": {:hex, :nimble_parsec, "1.3.1", "2c54013ecf170e249e9291ed0a62e5832f70a476c61da16f6aac6dca0189f2af", [:mix], [], "hexpm", "2682e3c0b2eb58d90c6375fc0cc30bc7be06f365bf72608804fb9cffa5e1b167"}, + "nimble_pool": {:hex, :nimble_pool, "1.0.0", "5eb82705d138f4dd4423f69ceb19ac667b3b492ae570c9f5c900bb3d2f50a847", [:mix], [], "hexpm", "80be3b882d2d351882256087078e1b1952a28bf98d0a287be87e4a24a710b67a"}, "parse_trans": {:hex, :parse_trans, "3.3.1", "16328ab840cc09919bd10dab29e431da3af9e9e7e7e6f0089dd5a2d2820011d8", [:rebar3], [], "hexpm", "07cd9577885f56362d414e8c4c4e6bdf10d43a8767abb92d24cbe8b24c54888b"}, "plug": {:hex, :plug, "1.14.2", "cff7d4ec45b4ae176a227acd94a7ab536d9b37b942c8e8fa6dfc0fff98ff4d80", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "842fc50187e13cf4ac3b253d47d9474ed6c296a8732752835ce4a86acdf68d13"}, "plug_cowboy": {:hex, :plug_cowboy, "2.6.1", "9a3bbfceeb65eff5f39dab529e5cd79137ac36e913c02067dba3963a26efe9b2", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "de36e1a21f451a18b790f37765db198075c25875c64834bcc82d90b309eb6613"}, "plug_crypto": {:hex, :plug_crypto, "1.2.5", "918772575e48e81e455818229bf719d4ab4181fcbf7f85b68a35620f78d89ced", [:mix], [], "hexpm", "26549a1d6345e2172eb1c233866756ae44a9609bd33ee6f99147ab3fd87fd842"}, "poison": {:hex, :poison, "4.0.1", "bcb755a16fac91cad79bfe9fc3585bb07b9331e50cfe3420a24bcc2d735709ae", [:mix], [], "hexpm"}, "ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"}, + "req": {:hex, :req, "0.3.10", "71b6457cba0929deedb4ceb5747d46f6c0b4d6be1f94a91b2c6a90f3e4a892bd", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.9", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "43489aa0d5b899215088cd6fea4125569009304c24b15215e3d02883aa0e79d8"}, "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, "sweet_xml": {:hex, :sweet_xml, "0.7.3", "debb256781c75ff6a8c5cbf7981146312b66f044a2898f453709a53e5031b45b", [:mix], [], "hexpm", "e110c867a1b3fe74bfc7dd9893aa851f0eed5518d0d7cad76d7baafd30e4f5ba"}, "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"}, diff --git a/test/alternate_helper.exs b/test/alternate_helper.exs index 35d82d56..742fa811 100644 --- a/test/alternate_helper.exs +++ b/test/alternate_helper.exs @@ -1,17 +1,14 @@ defmodule Test.KinesisAlt do def config_root do Application.get_all_env(:ex_aws) - |> Keyword.put(:http_client, ExAws.Request.HTTPotion) + |> Keyword.put(:http_client, ExAws.Request.Req) |> Keyword.put(:json_codec, ExAws.JSON.JSX) end end -Application.ensure_all_started(:httpotion) - -defmodule Test.HTTPotion do - def request(method, url, body, headers) do - {:ok, - HTTPotion.request(method, url, body: body, headers: headers, ibrowse: [headers_as_is: true])} +defmodule Test.Req do + def request(method, url, body, headers, _) do + Req.request(method: method, url: url, body: body, headers: headers) end end From 9673b312ad1b7d4b1ea18da2c53e26431de0eaea Mon Sep 17 00:00:00 2001 From: Bernard Duggan Date: Tue, 15 Aug 2023 10:39:35 +1000 Subject: [PATCH 048/115] Bump version and update CHANGELOG v2.5.0 --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fdfd9ce2..8702e599 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ v2.5.0 - [Breaking] Bump minimum elixir version to 1.11 +- Replace retired HTTPotion with Req as default web client +- Endpoint updates v2.4.4 - Endpoint updates From b131a881ad37ec237e5fef5751023760759e291a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 15 Aug 2023 14:47:07 +0000 Subject: [PATCH 049/115] Bump req from 0.3.10 to 0.3.11 Bumps [req](https://github.com/wojtekmach/req) from 0.3.10 to 0.3.11. - [Changelog](https://github.com/wojtekmach/req/blob/main/CHANGELOG.md) - [Commits](https://github.com/wojtekmach/req/compare/v0.3.10...v0.3.11) --- updated-dependencies: - dependency-name: req dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index c5d06abe..87c0997a 100644 --- a/mix.lock +++ b/mix.lock @@ -38,7 +38,7 @@ "plug_crypto": {:hex, :plug_crypto, "1.2.5", "918772575e48e81e455818229bf719d4ab4181fcbf7f85b68a35620f78d89ced", [:mix], [], "hexpm", "26549a1d6345e2172eb1c233866756ae44a9609bd33ee6f99147ab3fd87fd842"}, "poison": {:hex, :poison, "4.0.1", "bcb755a16fac91cad79bfe9fc3585bb07b9331e50cfe3420a24bcc2d735709ae", [:mix], [], "hexpm"}, "ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"}, - "req": {:hex, :req, "0.3.10", "71b6457cba0929deedb4ceb5747d46f6c0b4d6be1f94a91b2c6a90f3e4a892bd", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.9", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "43489aa0d5b899215088cd6fea4125569009304c24b15215e3d02883aa0e79d8"}, + "req": {:hex, :req, "0.3.11", "462315e50db6c6e1f61c45e8c0b267b0d22b6bd1f28444c136908dfdca8d515a", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.9", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "0e4b331627fedcf90b29aa8064cd5a95619ef6134d5ab13919b6e1c4d7cccd4b"}, "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, "sweet_xml": {:hex, :sweet_xml, "0.7.3", "debb256781c75ff6a8c5cbf7981146312b66f044a2898f453709a53e5031b45b", [:mix], [], "hexpm", "e110c867a1b3fe74bfc7dd9893aa851f0eed5518d0d7cad76d7baafd30e4f5ba"}, "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"}, From 559479c8362e7658d6fd1a743efca32848fdf47f Mon Sep 17 00:00:00 2001 From: Brendan Kilfoil Date: Wed, 16 Aug 2023 19:13:31 +1200 Subject: [PATCH 050/115] Ensure that response is transformed with all requests --- lib/ex_aws/credentials_ini/file.ex | 2 +- lib/ex_aws/instance_meta.ex | 2 +- lib/ex_aws/instance_meta_token_provider.ex | 2 +- lib/ex_aws/request.ex | 17 ++++++++--------- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/lib/ex_aws/credentials_ini/file.ex b/lib/ex_aws/credentials_ini/file.ex index f8fa92ef..47002fd9 100644 --- a/lib/ex_aws/credentials_ini/file.ex +++ b/lib/ex_aws/credentials_ini/file.ex @@ -102,7 +102,7 @@ if Code.ensure_loaded?(ConfigParser) do "", [{"x-amz-sso_bearer_token", access_token}], Map.get(config, :http_opts, []) - )}, + ) |> ExAws.Request.maybe_transform_response()}, {_, {:ok, body}} <- {:decode, config[:json_codec].decode(body_raw)} do {:ok, body} else diff --git a/lib/ex_aws/instance_meta.ex b/lib/ex_aws/instance_meta.ex index 76bc5be5..8278bb16 100644 --- a/lib/ex_aws/instance_meta.ex +++ b/lib/ex_aws/instance_meta.ex @@ -15,7 +15,7 @@ defmodule ExAws.InstanceMeta do # If we're using IMDSv2, we will need to pass in session token headers. headers = get_request_headers(config, fallback) - case config.http_client.request(:get, url, "", headers, http_opts()) do + case config.http_client.request(:get, url, "", headers, http_opts()) |> ExAws.Request.maybe_transform_response() do {:ok, %{status_code: 200, body: body}} -> body diff --git a/lib/ex_aws/instance_meta_token_provider.ex b/lib/ex_aws/instance_meta_token_provider.ex index 50a6d265..28d7b18b 100644 --- a/lib/ex_aws/instance_meta_token_provider.ex +++ b/lib/ex_aws/instance_meta_token_provider.ex @@ -82,7 +82,7 @@ defmodule ExAws.InstanceMetaTokenProvider do "", token_ttl_seconds_headers(config), follow_redirect: true - ) do + ) |> ExAws.Request.maybe_transform_response() do {:ok, %{status_code: 200, body: body}} -> body diff --git a/lib/ex_aws/request.ex b/lib/ex_aws/request.ex index b120a925..db6c93f8 100644 --- a/lib/ex_aws/request.ex +++ b/lib/ex_aws/request.ex @@ -113,7 +113,7 @@ defmodule ExAws.Request do full_headers, Map.get(config, :http_opts, []) ) - |> map_response() + |> maybe_transform_response() stop_metadata = case result do @@ -139,14 +139,6 @@ defmodule ExAws.Request do defp extract_error({:error, error}), do: error defp extract_error(error), do: error - defp map_response({:ok, %{status: status, body: body, headers: headers}}) do - # Req and Finch uses status as a key. - - {:ok, %{status_code: status, body: body, headers: headers}} - end - - defp map_response(response), do: response - def client_error(%{status_code: status, body: body} = error, json_codec) do case json_codec.decode(body) do {:ok, %{"__type" => error_type, "message" => message} = err} -> @@ -218,4 +210,11 @@ defmodule ExAws.Request do |> :rand.uniform() |> :timer.sleep() end + + def maybe_transform_response({:ok, %{status: status, body: body, headers: headers}}) do + # Req and Finch use status (rather than status_code) as a key. + {:ok, %{status_code: status, body: body, headers: headers}} + end + + def maybe_transform_response(response), do: response end From 74a082055c8e8bb5c6383427e8c2af26807eaabd Mon Sep 17 00:00:00 2001 From: Brendan Kilfoil Date: Wed, 16 Aug 2023 19:38:47 +1200 Subject: [PATCH 051/115] Format --- lib/ex_aws/credentials_ini/file.ex | 3 ++- lib/ex_aws/instance_meta.ex | 3 ++- lib/ex_aws/instance_meta_token_provider.ex | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/ex_aws/credentials_ini/file.ex b/lib/ex_aws/credentials_ini/file.ex index 47002fd9..eb6d1e79 100644 --- a/lib/ex_aws/credentials_ini/file.ex +++ b/lib/ex_aws/credentials_ini/file.ex @@ -102,7 +102,8 @@ if Code.ensure_loaded?(ConfigParser) do "", [{"x-amz-sso_bearer_token", access_token}], Map.get(config, :http_opts, []) - ) |> ExAws.Request.maybe_transform_response()}, + ) + |> ExAws.Request.maybe_transform_response()}, {_, {:ok, body}} <- {:decode, config[:json_codec].decode(body_raw)} do {:ok, body} else diff --git a/lib/ex_aws/instance_meta.ex b/lib/ex_aws/instance_meta.ex index 8278bb16..518335a5 100644 --- a/lib/ex_aws/instance_meta.ex +++ b/lib/ex_aws/instance_meta.ex @@ -15,7 +15,8 @@ defmodule ExAws.InstanceMeta do # If we're using IMDSv2, we will need to pass in session token headers. headers = get_request_headers(config, fallback) - case config.http_client.request(:get, url, "", headers, http_opts()) |> ExAws.Request.maybe_transform_response() do + case config.http_client.request(:get, url, "", headers, http_opts()) + |> ExAws.Request.maybe_transform_response() do {:ok, %{status_code: 200, body: body}} -> body diff --git a/lib/ex_aws/instance_meta_token_provider.ex b/lib/ex_aws/instance_meta_token_provider.ex index 28d7b18b..e93ffefe 100644 --- a/lib/ex_aws/instance_meta_token_provider.ex +++ b/lib/ex_aws/instance_meta_token_provider.ex @@ -82,7 +82,8 @@ defmodule ExAws.InstanceMetaTokenProvider do "", token_ttl_seconds_headers(config), follow_redirect: true - ) |> ExAws.Request.maybe_transform_response() do + ) + |> ExAws.Request.maybe_transform_response() do {:ok, %{status_code: 200, body: body}} -> body From f959c61f0f44b9cf1df6a29abb58741b1c4172ae Mon Sep 17 00:00:00 2001 From: Ahsan Date: Mon, 21 Aug 2023 17:29:00 +0200 Subject: [PATCH 052/115] add: eu-central-2 support for S3 --- priv/endpoints.exs | 1 + 1 file changed, 1 insertion(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 14339df1..dc73fe55 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -1424,6 +1424,7 @@ }, "ca-central-1" => %{}, "eu-central-1" => %{}, + "eu-central-2" => %{}, "eu-west-1" => %{ "hostname" => "s3.eu-west-1.amazonaws.com", "signatureVersions" => ["s3", "s3v4"] From 265522adbe3f23e2a411bd07e4715e9efbaeaf5d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Aug 2023 14:10:39 +0000 Subject: [PATCH 053/115] Bump excoveralls from 0.17.0 to 0.17.1 Bumps [excoveralls](https://github.com/parroty/excoveralls) from 0.17.0 to 0.17.1. - [Release notes](https://github.com/parroty/excoveralls/releases) - [Changelog](https://github.com/parroty/excoveralls/blob/master/CHANGELOG.md) - [Commits](https://github.com/parroty/excoveralls/compare/v0.17.0...v0.17.1) --- updated-dependencies: - dependency-name: excoveralls dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index 87c0997a..e1cab7b7 100644 --- a/mix.lock +++ b/mix.lock @@ -12,7 +12,7 @@ "earmark_parser": {:hex, :earmark_parser, "1.4.33", "3c3fd9673bb5dcc9edc28dd90f50c87ce506d1f71b70e3de69aa8154bc695d44", [:mix], [], "hexpm", "2d526833729b59b9fdb85785078697c72ac5e5066350663e5be6a1182da61b8f"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, "ex_doc": {:hex, :ex_doc, "0.30.5", "aa6da96a5c23389d7dc7c381eba862710e108cee9cfdc629b7ec021313900e9e", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "88a1e115dcb91cefeef7e22df4a6ebbe4634fbf98b38adcbc25c9607d6d9d8e6"}, - "excoveralls": {:hex, :excoveralls, "0.17.0", "279f124dba347903bb654bc40745c493ae265d45040001b4899ea1edf88078c7", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "08b638d114387a888f9cb8d65f2a0021ec04c3e447b793efa7c1e734aba93004"}, + "excoveralls": {:hex, :excoveralls, "0.17.1", "83fa7906ef23aa7fc8ad7ee469c357a63b1b3d55dd701ff5b9ce1f72442b2874", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "95bc6fda953e84c60f14da4a198880336205464e75383ec0f570180567985ae0"}, "finch": {:hex, :finch, "0.16.0", "40733f02c89f94a112518071c0a91fe86069560f5dbdb39f9150042f44dcfb1a", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.3", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 0.2.6 or ~> 1.0", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f660174c4d519e5fec629016054d60edd822cdfe2b7270836739ac2f97735ec5"}, "hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~> 2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~> 6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~> 1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~> 1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~> 0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"}, "hpax": {:hex, :hpax, "0.1.2", "09a75600d9d8bbd064cdd741f21fc06fc1f4cf3d0fcc335e5aa19be1a7235c84", [:mix], [], "hexpm", "2c87843d5a23f5f16748ebe77969880e29809580efdaccd615cd3bed628a8c13"}, From aaabd07c552569dbe9a3318677552fde9cbd9fc9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Aug 2023 22:57:35 +0000 Subject: [PATCH 054/115] Bump ex_doc from 0.30.5 to 0.30.6 Bumps [ex_doc](https://github.com/elixir-lang/ex_doc) from 0.30.5 to 0.30.6. - [Changelog](https://github.com/elixir-lang/ex_doc/blob/main/CHANGELOG.md) - [Commits](https://github.com/elixir-lang/ex_doc/compare/v0.30.5...v0.30.6) --- updated-dependencies: - dependency-name: ex_doc dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index e1cab7b7..a28685ae 100644 --- a/mix.lock +++ b/mix.lock @@ -11,7 +11,7 @@ "earmark": {:hex, :earmark, "1.4.3", "364ca2e9710f6bff494117dbbd53880d84bebb692dafc3a78eb50aa3183f2bfd", [:mix], [], "hexpm", "8cf8a291ebf1c7b9539e3cddb19e9cef066c2441b1640f13c34c1d3cfc825fec"}, "earmark_parser": {:hex, :earmark_parser, "1.4.33", "3c3fd9673bb5dcc9edc28dd90f50c87ce506d1f71b70e3de69aa8154bc695d44", [:mix], [], "hexpm", "2d526833729b59b9fdb85785078697c72ac5e5066350663e5be6a1182da61b8f"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, - "ex_doc": {:hex, :ex_doc, "0.30.5", "aa6da96a5c23389d7dc7c381eba862710e108cee9cfdc629b7ec021313900e9e", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "88a1e115dcb91cefeef7e22df4a6ebbe4634fbf98b38adcbc25c9607d6d9d8e6"}, + "ex_doc": {:hex, :ex_doc, "0.30.6", "5f8b54854b240a2b55c9734c4b1d0dd7bdd41f71a095d42a70445c03cf05a281", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "bd48f2ddacf4e482c727f9293d9498e0881597eae6ddc3d9562bd7923375109f"}, "excoveralls": {:hex, :excoveralls, "0.17.1", "83fa7906ef23aa7fc8ad7ee469c357a63b1b3d55dd701ff5b9ce1f72442b2874", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "95bc6fda953e84c60f14da4a198880336205464e75383ec0f570180567985ae0"}, "finch": {:hex, :finch, "0.16.0", "40733f02c89f94a112518071c0a91fe86069560f5dbdb39f9150042f44dcfb1a", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.3", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 0.2.6 or ~> 1.0", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f660174c4d519e5fec629016054d60edd822cdfe2b7270836739ac2f97735ec5"}, "hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~> 2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~> 6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~> 1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~> 1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~> 0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"}, From 79ff7543dc9d2720534fb980a6c66e0cb6ce29e7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Sep 2023 14:31:22 +0000 Subject: [PATCH 055/115] Bump req from 0.3.11 to 0.4.3 Bumps [req](https://github.com/wojtekmach/req) from 0.3.11 to 0.4.3. - [Release notes](https://github.com/wojtekmach/req/releases) - [Changelog](https://github.com/wojtekmach/req/blob/main/CHANGELOG.md) - [Commits](https://github.com/wojtekmach/req/commits) --- updated-dependencies: - dependency-name: req dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index a28685ae..8b907d2c 100644 --- a/mix.lock +++ b/mix.lock @@ -38,7 +38,7 @@ "plug_crypto": {:hex, :plug_crypto, "1.2.5", "918772575e48e81e455818229bf719d4ab4181fcbf7f85b68a35620f78d89ced", [:mix], [], "hexpm", "26549a1d6345e2172eb1c233866756ae44a9609bd33ee6f99147ab3fd87fd842"}, "poison": {:hex, :poison, "4.0.1", "bcb755a16fac91cad79bfe9fc3585bb07b9331e50cfe3420a24bcc2d735709ae", [:mix], [], "hexpm"}, "ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"}, - "req": {:hex, :req, "0.3.11", "462315e50db6c6e1f61c45e8c0b267b0d22b6bd1f28444c136908dfdca8d515a", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.9", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "0e4b331627fedcf90b29aa8064cd5a95619ef6134d5ab13919b6e1c4d7cccd4b"}, + "req": {:hex, :req, "0.4.3", "bb4cd1661a234b9c779b984dd137761f7ff705f45d0008ba40c8f420a4307b43", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.9", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "9bc88c84f101cfe884260d3413b72aaad6d94ccedccc1f2bcef8e94bd68c5536"}, "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, "sweet_xml": {:hex, :sweet_xml, "0.7.3", "debb256781c75ff6a8c5cbf7981146312b66f044a2898f453709a53e5031b45b", [:mix], [], "hexpm", "e110c867a1b3fe74bfc7dd9893aa851f0eed5518d0d7cad76d7baafd30e4f5ba"}, "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"}, From 0fbabd953ab5b80ca9d94658b7b13a2de0f06dc4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 20 Sep 2023 14:57:45 +0000 Subject: [PATCH 056/115] Bump mox from 1.0.2 to 1.1.0 Bumps [mox](https://github.com/dashbitco/mox) from 1.0.2 to 1.1.0. - [Changelog](https://github.com/dashbitco/mox/blob/master/CHANGELOG.md) - [Commits](https://github.com/dashbitco/mox/compare/v1.0.2...v1.1.0) --- updated-dependencies: - dependency-name: mox dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index a28685ae..d735d8dc 100644 --- a/mix.lock +++ b/mix.lock @@ -28,7 +28,7 @@ "mime": {:hex, :mime, "2.0.5", "dc34c8efd439abe6ae0343edbb8556f4d63f178594894720607772a041b04b02", [:mix], [], "hexpm", "da0d64a365c45bc9935cc5c8a7fc5e49a0e0f9932a761c55d6c52b142780a05c"}, "mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"}, "mint": {:hex, :mint, "1.5.1", "8db5239e56738552d85af398798c80648db0e90f343c8469f6c6d8898944fb6f", [:mix], [{:castore, "~> 0.1.0 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:hpax, "~> 0.1.1", [hex: :hpax, repo: "hexpm", optional: false]}], "hexpm", "4a63e1e76a7c3956abd2c72f370a0d0aecddc3976dea5c27eccbecfa5e7d5b1e"}, - "mox": {:hex, :mox, "1.0.2", "dc2057289ac478b35760ba74165b4b3f402f68803dd5aecd3bfd19c183815d64", [:mix], [], "hexpm", "f9864921b3aaf763c8741b5b8e6f908f44566f1e427b2630e89e9a73b981fef2"}, + "mox": {:hex, :mox, "1.1.0", "0f5e399649ce9ab7602f72e718305c0f9cdc351190f72844599545e4996af73c", [:mix], [], "hexpm", "d44474c50be02d5b72131070281a5d3895c0e7a95c780e90bc0cfe712f633a13"}, "nimble_options": {:hex, :nimble_options, "1.0.2", "92098a74df0072ff37d0c12ace58574d26880e522c22801437151a159392270e", [:mix], [], "hexpm", "fd12a8db2021036ce12a309f26f564ec367373265b53e25403f0ee697380f1b8"}, "nimble_parsec": {:hex, :nimble_parsec, "1.3.1", "2c54013ecf170e249e9291ed0a62e5832f70a476c61da16f6aac6dca0189f2af", [:mix], [], "hexpm", "2682e3c0b2eb58d90c6375fc0cc30bc7be06f365bf72608804fb9cffa5e1b167"}, "nimble_pool": {:hex, :nimble_pool, "1.0.0", "5eb82705d138f4dd4423f69ceb19ac667b3b492ae570c9f5c900bb3d2f50a847", [:mix], [], "hexpm", "80be3b882d2d351882256087078e1b1952a28bf98d0a287be87e4a24a710b67a"}, From 1faaa17b3a01feaf1ad39e34f656596b1d11dc14 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 21 Sep 2023 14:15:26 +0000 Subject: [PATCH 057/115] Bump hackney from 1.18.1 to 1.19.1 Bumps [hackney](https://github.com/benoitc/hackney) from 1.18.1 to 1.19.1. - [Release notes](https://github.com/benoitc/hackney/releases) - [Changelog](https://github.com/benoitc/hackney/blob/master/NEWS.md) - [Commits](https://github.com/benoitc/hackney/compare/1.18.1...1.19.1) --- updated-dependencies: - dependency-name: hackney dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- mix.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mix.lock b/mix.lock index a28685ae..2f606e3b 100644 --- a/mix.lock +++ b/mix.lock @@ -1,7 +1,7 @@ %{ "bypass": {:hex, :bypass, "2.1.0", "909782781bf8e20ee86a9cabde36b259d44af8b9f38756173e8f5e2e1fabb9b1", [:mix], [{:plug, "~> 1.7", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.0", [hex: :plug_cowboy, repo: "hexpm", optional: false]}, {:ranch, "~> 1.3", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "d9b5df8fa5b7a6efa08384e9bbecfe4ce61c77d28a4282f79e02f1ef78d96b80"}, "castore": {:hex, :castore, "1.0.3", "7130ba6d24c8424014194676d608cb989f62ef8039efd50ff4b3f33286d06db8", [:mix], [], "hexpm", "680ab01ef5d15b161ed6a95449fac5c6b8f60055677a8e79acf01b27baa4390b"}, - "certifi": {:hex, :certifi, "2.9.0", "6f2a475689dd47f19fb74334859d460a2dc4e3252a3324bd2111b8f0429e7e21", [:rebar3], [], "hexpm", "266da46bdb06d6c6d35fde799bcb28d36d985d424ad7c08b5bb48f5b5cdd4641"}, + "certifi": {:hex, :certifi, "2.12.0", "2d1cca2ec95f59643862af91f001478c9863c2ac9cb6e2f89780bfd8de987329", [:rebar3], [], "hexpm", "ee68d85df22e554040cdb4be100f33873ac6051387baf6a8f6ce82272340ff1c"}, "configparser_ex": {:hex, :configparser_ex, "4.0.0", "17e2b831cfa33a08c56effc610339b2986f0d82a9caa0ed18880a07658292ab6", [:mix], [], "hexpm", "02e6d1a559361a063cba7b75bc3eb2d6ad7e62730c551cc4703541fd11e65e5b"}, "cowboy": {:hex, :cowboy, "2.10.0", "ff9ffeff91dae4ae270dd975642997afe2a1179d94b1887863e43f681a203e26", [:make, :rebar3], [{:cowlib, "2.12.1", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "3afdccb7183cc6f143cb14d3cf51fa00e53db9ec80cdcd525482f5e99bc41d6b"}, "cowboy_telemetry": {:hex, :cowboy_telemetry, "0.4.0", "f239f68b588efa7707abce16a84d0d2acf3a0f50571f8bb7f56a15865aae820c", [:rebar3], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de"}, @@ -14,7 +14,7 @@ "ex_doc": {:hex, :ex_doc, "0.30.6", "5f8b54854b240a2b55c9734c4b1d0dd7bdd41f71a095d42a70445c03cf05a281", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "bd48f2ddacf4e482c727f9293d9498e0881597eae6ddc3d9562bd7923375109f"}, "excoveralls": {:hex, :excoveralls, "0.17.1", "83fa7906ef23aa7fc8ad7ee469c357a63b1b3d55dd701ff5b9ce1f72442b2874", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "95bc6fda953e84c60f14da4a198880336205464e75383ec0f570180567985ae0"}, "finch": {:hex, :finch, "0.16.0", "40733f02c89f94a112518071c0a91fe86069560f5dbdb39f9150042f44dcfb1a", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.3", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 0.2.6 or ~> 1.0", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f660174c4d519e5fec629016054d60edd822cdfe2b7270836739ac2f97735ec5"}, - "hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~> 2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~> 6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~> 1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~> 1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~> 0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"}, + "hackney": {:hex, :hackney, "1.19.1", "59de4716e985dd2b5cbd4954fa1ae187e2b610a9c4520ffcb0b1653c3d6e5559", [:rebar3], [{:certifi, "~>2.12.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.4.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "8aa08234bdefc269995c63c2282cf3cd0e36febe3a6bfab11b610572fdd1cad0"}, "hpax": {:hex, :hpax, "0.1.2", "09a75600d9d8bbd064cdd741f21fc06fc1f4cf3d0fcc335e5aa19be1a7235c84", [:mix], [], "hexpm", "2c87843d5a23f5f16748ebe77969880e29809580efdaccd615cd3bed628a8c13"}, "httpotion": {:hex, :httpotion, "3.2.0", "007c81c3a15b4860c893dea858eab2ce859a260b47071e85dcf9611a4226324e", [:mix], [{:ibrowse, "4.4.0", [hex: :ibrowse, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "726b3fdfc47d7f15302dac5f6a4152a5002fe8230dee8bdd65b8d154b573580b"}, "ibrowse": {:hex, :ibrowse, "4.4.0", "2d923325efe0d2cb09b9c6a047b2835a5eda69d8a47ed6ff8bc03628b764e991", [:rebar3], [], "hexpm", "6a8e5988872086f0506bef68311493551ac5beae7c06ba2a00d5e9f97a60f1c2"}, @@ -32,7 +32,7 @@ "nimble_options": {:hex, :nimble_options, "1.0.2", "92098a74df0072ff37d0c12ace58574d26880e522c22801437151a159392270e", [:mix], [], "hexpm", "fd12a8db2021036ce12a309f26f564ec367373265b53e25403f0ee697380f1b8"}, "nimble_parsec": {:hex, :nimble_parsec, "1.3.1", "2c54013ecf170e249e9291ed0a62e5832f70a476c61da16f6aac6dca0189f2af", [:mix], [], "hexpm", "2682e3c0b2eb58d90c6375fc0cc30bc7be06f365bf72608804fb9cffa5e1b167"}, "nimble_pool": {:hex, :nimble_pool, "1.0.0", "5eb82705d138f4dd4423f69ceb19ac667b3b492ae570c9f5c900bb3d2f50a847", [:mix], [], "hexpm", "80be3b882d2d351882256087078e1b1952a28bf98d0a287be87e4a24a710b67a"}, - "parse_trans": {:hex, :parse_trans, "3.3.1", "16328ab840cc09919bd10dab29e431da3af9e9e7e7e6f0089dd5a2d2820011d8", [:rebar3], [], "hexpm", "07cd9577885f56362d414e8c4c4e6bdf10d43a8767abb92d24cbe8b24c54888b"}, + "parse_trans": {:hex, :parse_trans, "3.4.1", "6e6aa8167cb44cc8f39441d05193be6e6f4e7c2946cb2759f015f8c56b76e5ff", [:rebar3], [], "hexpm", "620a406ce75dada827b82e453c19cf06776be266f5a67cff34e1ef2cbb60e49a"}, "plug": {:hex, :plug, "1.14.2", "cff7d4ec45b4ae176a227acd94a7ab536d9b37b942c8e8fa6dfc0fff98ff4d80", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "842fc50187e13cf4ac3b253d47d9474ed6c296a8732752835ce4a86acdf68d13"}, "plug_cowboy": {:hex, :plug_cowboy, "2.6.1", "9a3bbfceeb65eff5f39dab529e5cd79137ac36e913c02067dba3963a26efe9b2", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "de36e1a21f451a18b790f37765db198075c25875c64834bcc82d90b309eb6613"}, "plug_crypto": {:hex, :plug_crypto, "1.2.5", "918772575e48e81e455818229bf719d4ab4181fcbf7f85b68a35620f78d89ced", [:mix], [], "hexpm", "26549a1d6345e2172eb1c233866756ae44a9609bd33ee6f99147ab3fd87fd842"}, From 4837ad0f74c00c862e42b502e1c6e839e86dd95f Mon Sep 17 00:00:00 2001 From: Andy Tran Date: Sat, 23 Sep 2023 21:43:45 -0400 Subject: [PATCH 058/115] Improve docs --- lib/ex_aws/request/http_client.ex | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/lib/ex_aws/request/http_client.ex b/lib/ex_aws/request/http_client.ex index c6cda214..392f8667 100644 --- a/lib/ex_aws/request/http_client.ex +++ b/lib/ex_aws/request/http_client.ex @@ -9,21 +9,24 @@ defmodule ExAws.Request.HttpClient do ## Example - Here for example is the code required to make HTTPotion comply with this spec. + Here is an example using [Req](https://hexdocs.pm/req/readme.html). - In your config you would do: + First, create a module implementing the `ExAws.Request.HttpClient` behaviour. ``` - config :ex_aws, - http_client: ExAws.Request.Req - - defmodule ExAws.Request.Req do - @behaviour ExAws.Request.HttpClient - def request(method, url, body, headers, _http_opts) do - Req.request(method: method, url: url, body: body, headers: headers) - end - end + defmodule ExAws.Request.Req do + @behaviour ExAws.Request.HttpClient + def request(method, url, body, headers, _http_opts) do + Req.request(method: method, url: url, body: body, headers: headers) + end + end + ``` + Then, in config: + + ``` + config :ex_aws, + http_client: ExAws.Request.Req ``` When conforming your selected HTTP Client take note of a few things: From 35fb0ba525b1d680abeadd846434332c71adeb4c Mon Sep 17 00:00:00 2001 From: Andy Tran Date: Sat, 23 Sep 2023 23:10:55 -0400 Subject: [PATCH 059/115] Clarify build-time config --- lib/ex_aws/request/http_client.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ex_aws/request/http_client.ex b/lib/ex_aws/request/http_client.ex index 392f8667..ca19cafb 100644 --- a/lib/ex_aws/request/http_client.ex +++ b/lib/ex_aws/request/http_client.ex @@ -22,7 +22,7 @@ defmodule ExAws.Request.HttpClient do end ``` - Then, in config: + Then, in build-time config (e.g. config.exs): ``` config :ex_aws, From 6bf84e679b25e260f2829c866baad99a48078ba9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 6 Oct 2023 14:11:44 +0000 Subject: [PATCH 060/115] Bump req from 0.4.3 to 0.4.4 Bumps [req](https://github.com/wojtekmach/req) from 0.4.3 to 0.4.4. - [Release notes](https://github.com/wojtekmach/req/releases) - [Changelog](https://github.com/wojtekmach/req/blob/main/CHANGELOG.md) - [Commits](https://github.com/wojtekmach/req/compare/v0.4.3...v0.4.4) --- updated-dependencies: - dependency-name: req dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- mix.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mix.lock b/mix.lock index be3176d3..89a7d12c 100644 --- a/mix.lock +++ b/mix.lock @@ -1,6 +1,6 @@ %{ "bypass": {:hex, :bypass, "2.1.0", "909782781bf8e20ee86a9cabde36b259d44af8b9f38756173e8f5e2e1fabb9b1", [:mix], [{:plug, "~> 1.7", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.0", [hex: :plug_cowboy, repo: "hexpm", optional: false]}, {:ranch, "~> 1.3", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "d9b5df8fa5b7a6efa08384e9bbecfe4ce61c77d28a4282f79e02f1ef78d96b80"}, - "castore": {:hex, :castore, "1.0.3", "7130ba6d24c8424014194676d608cb989f62ef8039efd50ff4b3f33286d06db8", [:mix], [], "hexpm", "680ab01ef5d15b161ed6a95449fac5c6b8f60055677a8e79acf01b27baa4390b"}, + "castore": {:hex, :castore, "1.0.4", "ff4d0fb2e6411c0479b1d965a814ea6d00e51eb2f58697446e9c41a97d940b28", [:mix], [], "hexpm", "9418c1b8144e11656f0be99943db4caf04612e3eaecefb5dae9a2a87565584f8"}, "certifi": {:hex, :certifi, "2.12.0", "2d1cca2ec95f59643862af91f001478c9863c2ac9cb6e2f89780bfd8de987329", [:rebar3], [], "hexpm", "ee68d85df22e554040cdb4be100f33873ac6051387baf6a8f6ce82272340ff1c"}, "configparser_ex": {:hex, :configparser_ex, "4.0.0", "17e2b831cfa33a08c56effc610339b2986f0d82a9caa0ed18880a07658292ab6", [:mix], [], "hexpm", "02e6d1a559361a063cba7b75bc3eb2d6ad7e62730c551cc4703541fd11e65e5b"}, "cowboy": {:hex, :cowboy, "2.10.0", "ff9ffeff91dae4ae270dd975642997afe2a1179d94b1887863e43f681a203e26", [:make, :rebar3], [{:cowlib, "2.12.1", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "3afdccb7183cc6f143cb14d3cf51fa00e53db9ec80cdcd525482f5e99bc41d6b"}, @@ -33,12 +33,12 @@ "nimble_parsec": {:hex, :nimble_parsec, "1.3.1", "2c54013ecf170e249e9291ed0a62e5832f70a476c61da16f6aac6dca0189f2af", [:mix], [], "hexpm", "2682e3c0b2eb58d90c6375fc0cc30bc7be06f365bf72608804fb9cffa5e1b167"}, "nimble_pool": {:hex, :nimble_pool, "1.0.0", "5eb82705d138f4dd4423f69ceb19ac667b3b492ae570c9f5c900bb3d2f50a847", [:mix], [], "hexpm", "80be3b882d2d351882256087078e1b1952a28bf98d0a287be87e4a24a710b67a"}, "parse_trans": {:hex, :parse_trans, "3.4.1", "6e6aa8167cb44cc8f39441d05193be6e6f4e7c2946cb2759f015f8c56b76e5ff", [:rebar3], [], "hexpm", "620a406ce75dada827b82e453c19cf06776be266f5a67cff34e1ef2cbb60e49a"}, - "plug": {:hex, :plug, "1.14.2", "cff7d4ec45b4ae176a227acd94a7ab536d9b37b942c8e8fa6dfc0fff98ff4d80", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "842fc50187e13cf4ac3b253d47d9474ed6c296a8732752835ce4a86acdf68d13"}, + "plug": {:hex, :plug, "1.15.1", "b7efd81c1a1286f13efb3f769de343236bd8b7d23b4a9f40d3002fc39ad8f74c", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "459497bd94d041d98d948054ec6c0b76feacd28eec38b219ca04c0de13c79d30"}, "plug_cowboy": {:hex, :plug_cowboy, "2.6.1", "9a3bbfceeb65eff5f39dab529e5cd79137ac36e913c02067dba3963a26efe9b2", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "de36e1a21f451a18b790f37765db198075c25875c64834bcc82d90b309eb6613"}, - "plug_crypto": {:hex, :plug_crypto, "1.2.5", "918772575e48e81e455818229bf719d4ab4181fcbf7f85b68a35620f78d89ced", [:mix], [], "hexpm", "26549a1d6345e2172eb1c233866756ae44a9609bd33ee6f99147ab3fd87fd842"}, + "plug_crypto": {:hex, :plug_crypto, "2.0.0", "77515cc10af06645abbfb5e6ad7a3e9714f805ae118fa1a70205f80d2d70fe73", [:mix], [], "hexpm", "53695bae57cc4e54566d993eb01074e4d894b65a3766f1c43e2c61a1b0f45ea9"}, "poison": {:hex, :poison, "4.0.1", "bcb755a16fac91cad79bfe9fc3585bb07b9331e50cfe3420a24bcc2d735709ae", [:mix], [], "hexpm"}, "ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"}, - "req": {:hex, :req, "0.4.3", "bb4cd1661a234b9c779b984dd137761f7ff705f45d0008ba40c8f420a4307b43", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.9", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "9bc88c84f101cfe884260d3413b72aaad6d94ccedccc1f2bcef8e94bd68c5536"}, + "req": {:hex, :req, "0.4.4", "a17b6bec956c9af4f08b5d8e8a6fc6e4edf24ccc0ac7bf363a90bba7a0f0138c", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.9", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "2618c0493444fee927d12073afb42e9154e766b3f4448e1011f0d3d551d1a011"}, "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, "sweet_xml": {:hex, :sweet_xml, "0.7.3", "debb256781c75ff6a8c5cbf7981146312b66f044a2898f453709a53e5031b45b", [:mix], [], "hexpm", "e110c867a1b3fe74bfc7dd9893aa851f0eed5518d0d7cad76d7baafd30e4f5ba"}, "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"}, From 34213914f6272b8be9d98b13f11750a834db0d16 Mon Sep 17 00:00:00 2001 From: Akos Marton Date: Wed, 11 Oct 2023 18:40:24 +0200 Subject: [PATCH 061/115] Add us-east-1-fips to KMS. --- priv/endpoints.exs | 1 + 1 file changed, 1 insertion(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index dc73fe55..98fd3e2b 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -978,6 +978,7 @@ "eu-north-1" => %{}, "sa-east-1" => %{}, "us-east-1" => %{}, + "us-east-1-fips" => %{}, "us-east-2" => %{}, "us-west-1" => %{}, "us-west-2" => %{} From 9147e6f27df7ef3a09d8a5499a04c89f3c6608d2 Mon Sep 17 00:00:00 2001 From: Akos Marton Date: Fri, 13 Oct 2023 18:14:27 +0200 Subject: [PATCH 062/115] Change the regex. --- lib/ex_aws/config/defaults.ex | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/lib/ex_aws/config/defaults.ex b/lib/ex_aws/config/defaults.ex index 633bee57..d893198e 100644 --- a/lib/ex_aws/config/defaults.ex +++ b/lib/ex_aws/config/defaults.ex @@ -94,8 +94,12 @@ defmodule ExAws.Config.Defaults do |> Map.put(:host, host(service, region)) end + # ExAws.Config.Defaults.host("sts", "us-east-1") + # Regex.run(~r/^(us|eu|af|ap|sa|ca|me)\-\w+-\d?-?\w+/, "us-east-1-fips") + # Regex.run(~r/^(us|eu|af|ap|sa|ca|me)\-\w+-\d?-?\w+/, "us-east-1") + # orig: {~r/^(us|eu|af|ap|sa|ca|me)\-\w+\-\d+\-*$/, "aws"}, @partitions [ - {~r/^(us|eu|af|ap|sa|ca|me)\-\w+\-\d+$/, "aws"}, + {~r/^(us|eu|af|ap|sa|ca|me)\-\w+-\d?-?\w+/, "aws"}, {~r/^cn\-\w+\-\d+$/, "aws-cn"}, {~r/^us\-gov\-\w+\-\d+$/, "aws-us-gov"} ] @@ -105,6 +109,7 @@ defmodule ExAws.Config.Defaults do Enum.find(@partitions, fn {regex, _} -> Regex.run(regex, region) end) + |> IO.inspect(label: "partition") with {_, partition} <- partition do do_host(partition, service, region) @@ -140,16 +145,22 @@ defmodule ExAws.Config.Defaults do |> Map.new(fn partition -> {partition["partition"], partition} end) + def dbgg(x,f) do + File.write!("#{f}.txt", Jason.encode!(x)) + x + end defp do_host(partition, service_slug, region) do partition = @partition_data |> Map.fetch!(partition) - partition_name = partition["partition"] + dbgg(partition,"partition") + partition_name = partition["partition"] |> IO.inspect(label: "partition_name") - service = service_map(service_slug) + service = service_map(service_slug) |> IO.inspect(label: "service") partition |> Map.fetch!("services") - |> fetch_or(service, "#{service_slug} not found in partition #{partition_name}") + |> dbgg("services") + |> fetch_or(service, "#{service_slug} not found in partition #{partition_name}") |> IO.inspect(label: "fetch_or") |> case do %{"isRegionalized" => false} = data -> data From 11b0c16be90b91c71bdd85b2317e647648356d36 Mon Sep 17 00:00:00 2001 From: Akos Marton Date: Fri, 13 Oct 2023 18:17:02 +0200 Subject: [PATCH 063/115] tmp remove debug --- lib/ex_aws/config/defaults.ex | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/lib/ex_aws/config/defaults.ex b/lib/ex_aws/config/defaults.ex index d893198e..b1425453 100644 --- a/lib/ex_aws/config/defaults.ex +++ b/lib/ex_aws/config/defaults.ex @@ -145,22 +145,18 @@ defmodule ExAws.Config.Defaults do |> Map.new(fn partition -> {partition["partition"], partition} end) - def dbgg(x,f) do - File.write!("#{f}.txt", Jason.encode!(x)) - x - end defp do_host(partition, service_slug, region) do partition = @partition_data |> Map.fetch!(partition) - dbgg(partition,"partition") - partition_name = partition["partition"] |> IO.inspect(label: "partition_name") - service = service_map(service_slug) |> IO.inspect(label: "service") + partition_name = partition["partition"] + + service = service_map(service_slug) partition |> Map.fetch!("services") - |> dbgg("services") - |> fetch_or(service, "#{service_slug} not found in partition #{partition_name}") |> IO.inspect(label: "fetch_or") + + |> fetch_or(service, "#{service_slug} not found in partition #{partition_name}") |> case do %{"isRegionalized" => false} = data -> data From 3b9863e658f72865e3e68f041268216607562e73 Mon Sep 17 00:00:00 2001 From: Akos Marton Date: Fri, 13 Oct 2023 23:03:49 +0200 Subject: [PATCH 064/115] Add S3 on us-east-1-fips. --- lib/ex_aws/config/defaults.ex | 7 ------- priv/endpoints.exs | 1 + 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/lib/ex_aws/config/defaults.ex b/lib/ex_aws/config/defaults.ex index b1425453..117923c5 100644 --- a/lib/ex_aws/config/defaults.ex +++ b/lib/ex_aws/config/defaults.ex @@ -94,10 +94,6 @@ defmodule ExAws.Config.Defaults do |> Map.put(:host, host(service, region)) end - # ExAws.Config.Defaults.host("sts", "us-east-1") - # Regex.run(~r/^(us|eu|af|ap|sa|ca|me)\-\w+-\d?-?\w+/, "us-east-1-fips") - # Regex.run(~r/^(us|eu|af|ap|sa|ca|me)\-\w+-\d?-?\w+/, "us-east-1") - # orig: {~r/^(us|eu|af|ap|sa|ca|me)\-\w+\-\d+\-*$/, "aws"}, @partitions [ {~r/^(us|eu|af|ap|sa|ca|me)\-\w+-\d?-?\w+/, "aws"}, {~r/^cn\-\w+\-\d+$/, "aws-cn"}, @@ -148,14 +144,11 @@ defmodule ExAws.Config.Defaults do defp do_host(partition, service_slug, region) do partition = @partition_data |> Map.fetch!(partition) - partition_name = partition["partition"] - service = service_map(service_slug) partition |> Map.fetch!("services") - |> fetch_or(service, "#{service_slug} not found in partition #{partition_name}") |> case do %{"isRegionalized" => false} = data -> diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 98fd3e2b..89ffbfa9 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -1444,6 +1444,7 @@ "hostname" => "s3.sa-east-1.amazonaws.com", "signatureVersions" => ["s3", "s3v4"] }, + "us-east-1-fips" => %{}, "us-east-1" => %{ "hostname" => "s3.amazonaws.com", "signatureVersions" => ["s3", "s3v4"] From f3a47aa34eae75e3a9f3e82fa9bda82c48fcd159 Mon Sep 17 00:00:00 2001 From: Akos Marton Date: Fri, 13 Oct 2023 23:14:05 +0200 Subject: [PATCH 065/115] Small regex change. iex(7)> ExAws.Config.Defaults.host("kms", "us-east-1-fips") "kms.us-east-1-fips.amazonaws.com" iex(8)> ExAws.Config.Defaults.host("sts", "us-east-1-fips") "sts-fips.us-east-1.amazonaws.com" iex(9)> ExAws.Config.Defaults.host("s3", "us-east-1-fips") "s3.us-east-1-fips.amazonaws.com" iex(12)> ExAws.Config.Defaults.host("s3", "us-east-1") "s3.amazonaws.com" iex(13)> ExAws.Config.Defaults.host("sts", "us-east-1") "sts.us-east-1.amazonaws.com" iex(14)> ExAws.Config.Defaults.host("kms", "us-east-1") "kms.us-east-1.amazonaws.com" --- lib/ex_aws/config/defaults.ex | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/ex_aws/config/defaults.ex b/lib/ex_aws/config/defaults.ex index 117923c5..2635f1d5 100644 --- a/lib/ex_aws/config/defaults.ex +++ b/lib/ex_aws/config/defaults.ex @@ -95,7 +95,7 @@ defmodule ExAws.Config.Defaults do end @partitions [ - {~r/^(us|eu|af|ap|sa|ca|me)\-\w+-\d?-?\w+/, "aws"}, + {~r/^(us|eu|af|ap|sa|ca|me)\-\w+-\d?-?\w+$/, "aws"}, {~r/^cn\-\w+\-\d+$/, "aws-cn"}, {~r/^us\-gov\-\w+\-\d+$/, "aws-us-gov"} ] @@ -105,7 +105,6 @@ defmodule ExAws.Config.Defaults do Enum.find(@partitions, fn {regex, _} -> Regex.run(regex, region) end) - |> IO.inspect(label: "partition") with {_, partition} <- partition do do_host(partition, service, region) From 55644dd57ad0a37ca319f45f3b2eedb547bc801c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 14:40:28 +0000 Subject: [PATCH 066/115] Bump ex_doc from 0.30.6 to 0.30.7 Bumps [ex_doc](https://github.com/elixir-lang/ex_doc) from 0.30.6 to 0.30.7. - [Changelog](https://github.com/elixir-lang/ex_doc/blob/main/CHANGELOG.md) - [Commits](https://github.com/elixir-lang/ex_doc/compare/v0.30.6...v0.30.7) --- updated-dependencies: - dependency-name: ex_doc dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- mix.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mix.lock b/mix.lock index be3176d3..af7403de 100644 --- a/mix.lock +++ b/mix.lock @@ -9,9 +9,9 @@ "dialyxir": {:hex, :dialyxir, "1.3.0", "fd1672f0922b7648ff9ce7b1b26fcf0ef56dda964a459892ad15f6b4410b5284", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "00b2a4bcd6aa8db9dcb0b38c1225b7277dca9bc370b6438715667071a304696f"}, "dialyze": {:hex, :dialyze, "0.2.1", "9fb71767f96649020d769db7cbd7290059daff23707d6e851e206b1fdfa92f9d", [:mix], [], "hexpm", "f485181fa53229356621261a384963cb47511cccf1454e82ca4fde53274fcd48"}, "earmark": {:hex, :earmark, "1.4.3", "364ca2e9710f6bff494117dbbd53880d84bebb692dafc3a78eb50aa3183f2bfd", [:mix], [], "hexpm", "8cf8a291ebf1c7b9539e3cddb19e9cef066c2441b1640f13c34c1d3cfc825fec"}, - "earmark_parser": {:hex, :earmark_parser, "1.4.33", "3c3fd9673bb5dcc9edc28dd90f50c87ce506d1f71b70e3de69aa8154bc695d44", [:mix], [], "hexpm", "2d526833729b59b9fdb85785078697c72ac5e5066350663e5be6a1182da61b8f"}, + "earmark_parser": {:hex, :earmark_parser, "1.4.37", "2ad73550e27c8946648b06905a57e4d454e4d7229c2dafa72a0348c99d8be5f7", [:mix], [], "hexpm", "6b19783f2802f039806f375610faa22da130b8edc21209d0bff47918bb48360e"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, - "ex_doc": {:hex, :ex_doc, "0.30.6", "5f8b54854b240a2b55c9734c4b1d0dd7bdd41f71a095d42a70445c03cf05a281", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "bd48f2ddacf4e482c727f9293d9498e0881597eae6ddc3d9562bd7923375109f"}, + "ex_doc": {:hex, :ex_doc, "0.30.7", "dc7247091aec738ab781f71cbebfc07979d1040c98c7ee67dbde99b7829b743d", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "868ff1c7a44c462741853840d1e7ef19a07906e7467cb8da070c158ea6a42a51"}, "excoveralls": {:hex, :excoveralls, "0.17.1", "83fa7906ef23aa7fc8ad7ee469c357a63b1b3d55dd701ff5b9ce1f72442b2874", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "95bc6fda953e84c60f14da4a198880336205464e75383ec0f570180567985ae0"}, "finch": {:hex, :finch, "0.16.0", "40733f02c89f94a112518071c0a91fe86069560f5dbdb39f9150042f44dcfb1a", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.3", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 0.2.6 or ~> 1.0", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f660174c4d519e5fec629016054d60edd822cdfe2b7270836739ac2f97735ec5"}, "hackney": {:hex, :hackney, "1.19.1", "59de4716e985dd2b5cbd4954fa1ae187e2b610a9c4520ffcb0b1653c3d6e5559", [:rebar3], [{:certifi, "~>2.12.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.4.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "8aa08234bdefc269995c63c2282cf3cd0e36febe3a6bfab11b610572fdd1cad0"}, From b3e309ec2e18d174654493c8d9e05f77ee715ada Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Oct 2023 02:26:26 +0000 Subject: [PATCH 067/115] Bump excoveralls from 0.17.1 to 0.18.0 Bumps [excoveralls](https://github.com/parroty/excoveralls) from 0.17.1 to 0.18.0. - [Release notes](https://github.com/parroty/excoveralls/releases) - [Changelog](https://github.com/parroty/excoveralls/blob/master/CHANGELOG.md) - [Commits](https://github.com/parroty/excoveralls/compare/v0.17.1...v0.18.0) --- updated-dependencies: - dependency-name: excoveralls dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- mix.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mix.lock b/mix.lock index af7403de..8f4c02c1 100644 --- a/mix.lock +++ b/mix.lock @@ -1,6 +1,6 @@ %{ "bypass": {:hex, :bypass, "2.1.0", "909782781bf8e20ee86a9cabde36b259d44af8b9f38756173e8f5e2e1fabb9b1", [:mix], [{:plug, "~> 1.7", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.0", [hex: :plug_cowboy, repo: "hexpm", optional: false]}, {:ranch, "~> 1.3", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "d9b5df8fa5b7a6efa08384e9bbecfe4ce61c77d28a4282f79e02f1ef78d96b80"}, - "castore": {:hex, :castore, "1.0.3", "7130ba6d24c8424014194676d608cb989f62ef8039efd50ff4b3f33286d06db8", [:mix], [], "hexpm", "680ab01ef5d15b161ed6a95449fac5c6b8f60055677a8e79acf01b27baa4390b"}, + "castore": {:hex, :castore, "1.0.4", "ff4d0fb2e6411c0479b1d965a814ea6d00e51eb2f58697446e9c41a97d940b28", [:mix], [], "hexpm", "9418c1b8144e11656f0be99943db4caf04612e3eaecefb5dae9a2a87565584f8"}, "certifi": {:hex, :certifi, "2.12.0", "2d1cca2ec95f59643862af91f001478c9863c2ac9cb6e2f89780bfd8de987329", [:rebar3], [], "hexpm", "ee68d85df22e554040cdb4be100f33873ac6051387baf6a8f6ce82272340ff1c"}, "configparser_ex": {:hex, :configparser_ex, "4.0.0", "17e2b831cfa33a08c56effc610339b2986f0d82a9caa0ed18880a07658292ab6", [:mix], [], "hexpm", "02e6d1a559361a063cba7b75bc3eb2d6ad7e62730c551cc4703541fd11e65e5b"}, "cowboy": {:hex, :cowboy, "2.10.0", "ff9ffeff91dae4ae270dd975642997afe2a1179d94b1887863e43f681a203e26", [:make, :rebar3], [{:cowlib, "2.12.1", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "3afdccb7183cc6f143cb14d3cf51fa00e53db9ec80cdcd525482f5e99bc41d6b"}, @@ -12,7 +12,7 @@ "earmark_parser": {:hex, :earmark_parser, "1.4.37", "2ad73550e27c8946648b06905a57e4d454e4d7229c2dafa72a0348c99d8be5f7", [:mix], [], "hexpm", "6b19783f2802f039806f375610faa22da130b8edc21209d0bff47918bb48360e"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, "ex_doc": {:hex, :ex_doc, "0.30.7", "dc7247091aec738ab781f71cbebfc07979d1040c98c7ee67dbde99b7829b743d", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "868ff1c7a44c462741853840d1e7ef19a07906e7467cb8da070c158ea6a42a51"}, - "excoveralls": {:hex, :excoveralls, "0.17.1", "83fa7906ef23aa7fc8ad7ee469c357a63b1b3d55dd701ff5b9ce1f72442b2874", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "95bc6fda953e84c60f14da4a198880336205464e75383ec0f570180567985ae0"}, + "excoveralls": {:hex, :excoveralls, "0.18.0", "b92497e69465dc51bc37a6422226ee690ab437e4c06877e836f1c18daeb35da9", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "1109bb911f3cb583401760be49c02cbbd16aed66ea9509fc5479335d284da60b"}, "finch": {:hex, :finch, "0.16.0", "40733f02c89f94a112518071c0a91fe86069560f5dbdb39f9150042f44dcfb1a", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.3", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 0.2.6 or ~> 1.0", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f660174c4d519e5fec629016054d60edd822cdfe2b7270836739ac2f97735ec5"}, "hackney": {:hex, :hackney, "1.19.1", "59de4716e985dd2b5cbd4954fa1ae187e2b610a9c4520ffcb0b1653c3d6e5559", [:rebar3], [{:certifi, "~>2.12.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.4.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "8aa08234bdefc269995c63c2282cf3cd0e36febe3a6bfab11b610572fdd1cad0"}, "hpax": {:hex, :hpax, "0.1.2", "09a75600d9d8bbd064cdd741f21fc06fc1f4cf3d0fcc335e5aa19be1a7235c84", [:mix], [], "hexpm", "2c87843d5a23f5f16748ebe77969880e29809580efdaccd615cd3bed628a8c13"}, From 4ae9f6a25cd71eae7440e9b8bc3499da7af9f3ed Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Oct 2023 02:40:37 +0000 Subject: [PATCH 068/115] Bump hackney from 1.19.1 to 1.20.1 Bumps [hackney](https://github.com/benoitc/hackney) from 1.19.1 to 1.20.1. - [Release notes](https://github.com/benoitc/hackney/releases) - [Changelog](https://github.com/benoitc/hackney/blob/master/NEWS.md) - [Commits](https://github.com/benoitc/hackney/compare/1.19.1...1.20.1) --- updated-dependencies: - dependency-name: hackney dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index 6599ba9d..a4fcb5dc 100644 --- a/mix.lock +++ b/mix.lock @@ -14,7 +14,7 @@ "ex_doc": {:hex, :ex_doc, "0.30.7", "dc7247091aec738ab781f71cbebfc07979d1040c98c7ee67dbde99b7829b743d", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "868ff1c7a44c462741853840d1e7ef19a07906e7467cb8da070c158ea6a42a51"}, "excoveralls": {:hex, :excoveralls, "0.18.0", "b92497e69465dc51bc37a6422226ee690ab437e4c06877e836f1c18daeb35da9", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "1109bb911f3cb583401760be49c02cbbd16aed66ea9509fc5479335d284da60b"}, "finch": {:hex, :finch, "0.16.0", "40733f02c89f94a112518071c0a91fe86069560f5dbdb39f9150042f44dcfb1a", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.3", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 0.2.6 or ~> 1.0", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f660174c4d519e5fec629016054d60edd822cdfe2b7270836739ac2f97735ec5"}, - "hackney": {:hex, :hackney, "1.19.1", "59de4716e985dd2b5cbd4954fa1ae187e2b610a9c4520ffcb0b1653c3d6e5559", [:rebar3], [{:certifi, "~>2.12.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.4.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "8aa08234bdefc269995c63c2282cf3cd0e36febe3a6bfab11b610572fdd1cad0"}, + "hackney": {:hex, :hackney, "1.20.1", "8d97aec62ddddd757d128bfd1df6c5861093419f8f7a4223823537bad5d064e2", [:rebar3], [{:certifi, "~>2.12.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.4.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "fe9094e5f1a2a2c0a7d10918fee36bfec0ec2a979994cff8cfe8058cd9af38e3"}, "hpax": {:hex, :hpax, "0.1.2", "09a75600d9d8bbd064cdd741f21fc06fc1f4cf3d0fcc335e5aa19be1a7235c84", [:mix], [], "hexpm", "2c87843d5a23f5f16748ebe77969880e29809580efdaccd615cd3bed628a8c13"}, "httpotion": {:hex, :httpotion, "3.2.0", "007c81c3a15b4860c893dea858eab2ce859a260b47071e85dcf9611a4226324e", [:mix], [{:ibrowse, "4.4.0", [hex: :ibrowse, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "726b3fdfc47d7f15302dac5f6a4152a5002fe8230dee8bdd65b8d154b573580b"}, "ibrowse": {:hex, :ibrowse, "4.4.0", "2d923325efe0d2cb09b9c6a047b2835a5eda69d8a47ed6ff8bc03628b764e991", [:rebar3], [], "hexpm", "6a8e5988872086f0506bef68311493551ac5beae7c06ba2a00d5e9f97a60f1c2"}, From c63acf03338e3831ecf1818e9f4413021427751e Mon Sep 17 00:00:00 2001 From: Akos Marton Date: Tue, 17 Oct 2023 10:59:46 +0200 Subject: [PATCH 069/115] Update hostname for KMS and S3. Based on: https://aws.amazon.com/compliance/fips/ --- priv/endpoints.exs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 89ffbfa9..b1ab5259 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -978,7 +978,10 @@ "eu-north-1" => %{}, "sa-east-1" => %{}, "us-east-1" => %{}, - "us-east-1-fips" => %{}, + "us-east-1-fips" => %{ + "hostname" => "kms-fips.us-east-1.amazonaws.com", + "credentialScope" => %{"region" => "us-east-1"} + }, "us-east-2" => %{}, "us-west-1" => %{}, "us-west-2" => %{} @@ -1444,7 +1447,10 @@ "hostname" => "s3.sa-east-1.amazonaws.com", "signatureVersions" => ["s3", "s3v4"] }, - "us-east-1-fips" => %{}, + "us-east-1-fips" => %{ + "hostname" => "s3-fips.us-east-1.amazonaws.com", + "credentialScope" => %{"region" => "us-east-1"} + }, "us-east-1" => %{ "hostname" => "s3.amazonaws.com", "signatureVersions" => ["s3", "s3v4"] From 40388d06adb8bdfc2e6a23340a47e2b61dd29c54 Mon Sep 17 00:00:00 2001 From: Akos Marton Date: Tue, 17 Oct 2023 14:26:30 +0200 Subject: [PATCH 070/115] Add RDS us-east-1-fips. --- priv/endpoints.exs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index b1ab5259..96dd9324 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -1040,6 +1040,11 @@ "eu-north-1" => %{}, "sa-east-1" => %{}, "us-east-1" => %{"sslCommonName" => "{service}.{dnsSuffix}"}, + "us-east-1-fips" => %{ + "sslCommonName" => "{service}.{dnsSuffix}", + "hostname" => "rds-fips.us-east-1.amazonaws.com", + "credentialScope" => %{"region" => "us-east-1"} + }, "us-east-2" => %{}, "us-west-1" => %{}, "us-west-2" => %{} From 08739a890200ab5a750c0d1a6e2cf349d5bbe9bd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Oct 2023 14:25:50 +0000 Subject: [PATCH 071/115] Bump ex_doc from 0.30.7 to 0.30.8 Bumps [ex_doc](https://github.com/elixir-lang/ex_doc) from 0.30.7 to 0.30.8. - [Changelog](https://github.com/elixir-lang/ex_doc/blob/main/CHANGELOG.md) - [Commits](https://github.com/elixir-lang/ex_doc/compare/v0.30.7...v0.30.8) --- updated-dependencies: - dependency-name: ex_doc dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index a4fcb5dc..45d29653 100644 --- a/mix.lock +++ b/mix.lock @@ -11,7 +11,7 @@ "earmark": {:hex, :earmark, "1.4.3", "364ca2e9710f6bff494117dbbd53880d84bebb692dafc3a78eb50aa3183f2bfd", [:mix], [], "hexpm", "8cf8a291ebf1c7b9539e3cddb19e9cef066c2441b1640f13c34c1d3cfc825fec"}, "earmark_parser": {:hex, :earmark_parser, "1.4.37", "2ad73550e27c8946648b06905a57e4d454e4d7229c2dafa72a0348c99d8be5f7", [:mix], [], "hexpm", "6b19783f2802f039806f375610faa22da130b8edc21209d0bff47918bb48360e"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, - "ex_doc": {:hex, :ex_doc, "0.30.7", "dc7247091aec738ab781f71cbebfc07979d1040c98c7ee67dbde99b7829b743d", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "868ff1c7a44c462741853840d1e7ef19a07906e7467cb8da070c158ea6a42a51"}, + "ex_doc": {:hex, :ex_doc, "0.30.8", "cf3eb2eb32137966aab0929bb3af42773b2d08e2f785a5fee9caabf664082cb3", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "bfb981d8e0a8ab23857e502d611c612ae2c24536dd3b530e741d1d94ea44e6e2"}, "excoveralls": {:hex, :excoveralls, "0.18.0", "b92497e69465dc51bc37a6422226ee690ab437e4c06877e836f1c18daeb35da9", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "1109bb911f3cb583401760be49c02cbbd16aed66ea9509fc5479335d284da60b"}, "finch": {:hex, :finch, "0.16.0", "40733f02c89f94a112518071c0a91fe86069560f5dbdb39f9150042f44dcfb1a", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.3", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 0.2.6 or ~> 1.0", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f660174c4d519e5fec629016054d60edd822cdfe2b7270836739ac2f97735ec5"}, "hackney": {:hex, :hackney, "1.20.1", "8d97aec62ddddd757d128bfd1df6c5861093419f8f7a4223823537bad5d064e2", [:rebar3], [{:certifi, "~>2.12.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.4.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "fe9094e5f1a2a2c0a7d10918fee36bfec0ec2a979994cff8cfe8058cd9af38e3"}, From 3905ef88fd633e1e673e3aeb5d5a4578a53a3f68 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 20 Oct 2023 15:00:27 +0000 Subject: [PATCH 072/115] Bump ex_doc from 0.30.8 to 0.30.9 Bumps [ex_doc](https://github.com/elixir-lang/ex_doc) from 0.30.8 to 0.30.9. - [Changelog](https://github.com/elixir-lang/ex_doc/blob/main/CHANGELOG.md) - [Commits](https://github.com/elixir-lang/ex_doc/compare/v0.30.8...v0.30.9) --- updated-dependencies: - dependency-name: ex_doc dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index 45d29653..92a86ab5 100644 --- a/mix.lock +++ b/mix.lock @@ -11,7 +11,7 @@ "earmark": {:hex, :earmark, "1.4.3", "364ca2e9710f6bff494117dbbd53880d84bebb692dafc3a78eb50aa3183f2bfd", [:mix], [], "hexpm", "8cf8a291ebf1c7b9539e3cddb19e9cef066c2441b1640f13c34c1d3cfc825fec"}, "earmark_parser": {:hex, :earmark_parser, "1.4.37", "2ad73550e27c8946648b06905a57e4d454e4d7229c2dafa72a0348c99d8be5f7", [:mix], [], "hexpm", "6b19783f2802f039806f375610faa22da130b8edc21209d0bff47918bb48360e"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, - "ex_doc": {:hex, :ex_doc, "0.30.8", "cf3eb2eb32137966aab0929bb3af42773b2d08e2f785a5fee9caabf664082cb3", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "bfb981d8e0a8ab23857e502d611c612ae2c24536dd3b530e741d1d94ea44e6e2"}, + "ex_doc": {:hex, :ex_doc, "0.30.9", "d691453495c47434c0f2052b08dd91cc32bc4e1a218f86884563448ee2502dd2", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "d7aaaf21e95dc5cddabf89063327e96867d00013963eadf2c6ad135506a8bc10"}, "excoveralls": {:hex, :excoveralls, "0.18.0", "b92497e69465dc51bc37a6422226ee690ab437e4c06877e836f1c18daeb35da9", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "1109bb911f3cb583401760be49c02cbbd16aed66ea9509fc5479335d284da60b"}, "finch": {:hex, :finch, "0.16.0", "40733f02c89f94a112518071c0a91fe86069560f5dbdb39f9150042f44dcfb1a", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.3", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 0.2.6 or ~> 1.0", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f660174c4d519e5fec629016054d60edd822cdfe2b7270836739ac2f97735ec5"}, "hackney": {:hex, :hackney, "1.20.1", "8d97aec62ddddd757d128bfd1df6c5861093419f8f7a4223823537bad5d064e2", [:rebar3], [{:certifi, "~>2.12.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.4.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "fe9094e5f1a2a2c0a7d10918fee36bfec0ec2a979994cff8cfe8058cd9af38e3"}, From e7fab3d310bdfef40c3d26c6e2f84da4bd446ed9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 14:59:07 +0000 Subject: [PATCH 073/115] Bump dialyxir from 1.3.0 to 1.4.2 Bumps [dialyxir](https://github.com/jeremyjh/dialyxir) from 1.3.0 to 1.4.2. - [Release notes](https://github.com/jeremyjh/dialyxir/releases) - [Changelog](https://github.com/jeremyjh/dialyxir/blob/master/CHANGELOG.md) - [Commits](https://github.com/jeremyjh/dialyxir/compare/1.3.0...1.4.2) --- updated-dependencies: - dependency-name: dialyxir dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index 92a86ab5..21691651 100644 --- a/mix.lock +++ b/mix.lock @@ -6,7 +6,7 @@ "cowboy": {:hex, :cowboy, "2.10.0", "ff9ffeff91dae4ae270dd975642997afe2a1179d94b1887863e43f681a203e26", [:make, :rebar3], [{:cowlib, "2.12.1", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "3afdccb7183cc6f143cb14d3cf51fa00e53db9ec80cdcd525482f5e99bc41d6b"}, "cowboy_telemetry": {:hex, :cowboy_telemetry, "0.4.0", "f239f68b588efa7707abce16a84d0d2acf3a0f50571f8bb7f56a15865aae820c", [:rebar3], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de"}, "cowlib": {:hex, :cowlib, "2.12.1", "a9fa9a625f1d2025fe6b462cb865881329b5caff8f1854d1cbc9f9533f00e1e1", [:make, :rebar3], [], "hexpm", "163b73f6367a7341b33c794c4e88e7dbfe6498ac42dcd69ef44c5bc5507c8db0"}, - "dialyxir": {:hex, :dialyxir, "1.3.0", "fd1672f0922b7648ff9ce7b1b26fcf0ef56dda964a459892ad15f6b4410b5284", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "00b2a4bcd6aa8db9dcb0b38c1225b7277dca9bc370b6438715667071a304696f"}, + "dialyxir": {:hex, :dialyxir, "1.4.2", "764a6e8e7a354f0ba95d58418178d486065ead1f69ad89782817c296d0d746a5", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "516603d8067b2fd585319e4b13d3674ad4f314a5902ba8130cd97dc902ce6bbd"}, "dialyze": {:hex, :dialyze, "0.2.1", "9fb71767f96649020d769db7cbd7290059daff23707d6e851e206b1fdfa92f9d", [:mix], [], "hexpm", "f485181fa53229356621261a384963cb47511cccf1454e82ca4fde53274fcd48"}, "earmark": {:hex, :earmark, "1.4.3", "364ca2e9710f6bff494117dbbd53880d84bebb692dafc3a78eb50aa3183f2bfd", [:mix], [], "hexpm", "8cf8a291ebf1c7b9539e3cddb19e9cef066c2441b1640f13c34c1d3cfc825fec"}, "earmark_parser": {:hex, :earmark_parser, "1.4.37", "2ad73550e27c8946648b06905a57e4d454e4d7229c2dafa72a0348c99d8be5f7", [:mix], [], "hexpm", "6b19783f2802f039806f375610faa22da130b8edc21209d0bff47918bb48360e"}, From 26ed935a9891d37779a44e2a7896fb499fae90d6 Mon Sep 17 00:00:00 2001 From: Maciej Gryka Date: Tue, 24 Oct 2023 15:45:55 +0200 Subject: [PATCH 074/115] update request logic to handle error reasons in keyword lists --- lib/ex_aws/request.ex | 8 ++++++- test/ex_aws/request_test.exs | 46 ++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-) diff --git a/lib/ex_aws/request.ex b/lib/ex_aws/request.ex index db6c93f8..b72f7064 100644 --- a/lib/ex_aws/request.ex +++ b/lib/ex_aws/request.ex @@ -74,7 +74,13 @@ defmodule ExAws.Request do attempt_again?(attempt, reason, config) ) - {:error, %{reason: reason}} -> + {:error, reason_struct} -> + reason = + case reason_struct do + %{reason: reason} -> reason + [reason: reason] -> reason + end + Logger.warning( "ExAws: HTTP ERROR: #{inspect(reason)} for URL: #{inspect(safe_url)} ATTEMPT: #{attempt}" ) diff --git a/test/ex_aws/request_test.exs b/test/ex_aws/request_test.exs index 376b1e86..c08d18a9 100644 --- a/test/ex_aws/request_test.exs +++ b/test/ex_aws/request_test.exs @@ -204,4 +204,50 @@ defmodule ExAws.RequestTest do {:attempt, 1} ) end + + test "Retries on errors, when the error reason is a map", context do + ExAws.Request.HttpMock + |> expect(:request, fn _method, _url, _body, _headers, _opts -> + {:error, %{reason: :closed}} + end) + + http_method = :get + url = "https://examplebucket.s3.amazonaws.com/test.txt" + service = :s3 + request_body = "" + + assert {:error, :closed} == + ExAws.Request.request_and_retry( + http_method, + url, + service, + context[:config], + context[:headers], + request_body, + {:attempt, 5} + ) + end + + test "Retries on errors, when the error reason is a keyword list", context do + ExAws.Request.HttpMock + |> expect(:request, fn _method, _url, _body, _headers, _opts -> + {:error, [reason: :closed]} + end) + + http_method = :get + url = "https://examplebucket.s3.amazonaws.com/test.txt" + service = :s3 + request_body = "" + + assert {:error, :closed} == + ExAws.Request.request_and_retry( + http_method, + url, + service, + context[:config], + context[:headers], + request_body, + {:attempt, 5} + ) + end end From d81428695c45ed98bb6656c4514a587ce2d4a2ff Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Oct 2023 14:53:35 +0000 Subject: [PATCH 075/115] Bump req from 0.4.4 to 0.4.5 Bumps [req](https://github.com/wojtekmach/req) from 0.4.4 to 0.4.5. - [Release notes](https://github.com/wojtekmach/req/releases) - [Changelog](https://github.com/wojtekmach/req/blob/main/CHANGELOG.md) - [Commits](https://github.com/wojtekmach/req/commits) --- updated-dependencies: - dependency-name: req dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index 92a86ab5..9ebbd8e8 100644 --- a/mix.lock +++ b/mix.lock @@ -38,7 +38,7 @@ "plug_crypto": {:hex, :plug_crypto, "2.0.0", "77515cc10af06645abbfb5e6ad7a3e9714f805ae118fa1a70205f80d2d70fe73", [:mix], [], "hexpm", "53695bae57cc4e54566d993eb01074e4d894b65a3766f1c43e2c61a1b0f45ea9"}, "poison": {:hex, :poison, "4.0.1", "bcb755a16fac91cad79bfe9fc3585bb07b9331e50cfe3420a24bcc2d735709ae", [:mix], [], "hexpm"}, "ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"}, - "req": {:hex, :req, "0.4.4", "a17b6bec956c9af4f08b5d8e8a6fc6e4edf24ccc0ac7bf363a90bba7a0f0138c", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.9", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "2618c0493444fee927d12073afb42e9154e766b3f4448e1011f0d3d551d1a011"}, + "req": {:hex, :req, "0.4.5", "2071bbedd280f107b9e33e1ddff2beb3991ec1ae06caa2cca2ab756393d8aca5", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.9", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "dd23e9c7303ddeb2dee09ff11ad8102cca019e38394456f265fb7b9655c64dd8"}, "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, "sweet_xml": {:hex, :sweet_xml, "0.7.3", "debb256781c75ff6a8c5cbf7981146312b66f044a2898f453709a53e5031b45b", [:mix], [], "hexpm", "e110c867a1b3fe74bfc7dd9893aa851f0eed5518d0d7cad76d7baafd30e4f5ba"}, "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"}, From 3d2e763dc0902637fe3c940b3beff9e2d637cfa4 Mon Sep 17 00:00:00 2001 From: Ygor Scattolin Date: Mon, 30 Oct 2023 11:23:02 +0100 Subject: [PATCH 076/115] Adds the ssm-incidents and ssm-contacts to the endpoints.exs --- priv/endpoints.exs | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 96dd9324..15ebd63a 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -1186,6 +1186,48 @@ "us-west-2" => %{} } }, + "ssm-incidents" => %{ + "endpoints" => %{ + "ap-northeast-1" => %{}, + "ap-northeast-2" => %{}, + "ap-east-1" => %{}, + "ap-south-1" => %{}, + "ap-southeast-1" => %{}, + "ap-southeast-2" => %{}, + "ca-central-1" => %{}, + "eu-central-1" => %{}, + "eu-west-1" => %{}, + "eu-west-2" => %{}, + "eu-west-3" => %{}, + "eu-north-1" => %{}, + "sa-east-1" => %{}, + "us-east-1" => %{}, + "us-east-2" => %{}, + "us-west-1" => %{}, + "us-west-2" => %{} + } + }, + "ssm-contacts" => %{ + "endpoints" => %{ + "ap-northeast-1" => %{}, + "ap-northeast-2" => %{}, + "ap-east-1" => %{}, + "ap-south-1" => %{}, + "ap-southeast-1" => %{}, + "ap-southeast-2" => %{}, + "ca-central-1" => %{}, + "eu-central-1" => %{}, + "eu-west-1" => %{}, + "eu-west-2" => %{}, + "eu-west-3" => %{}, + "eu-north-1" => %{}, + "sa-east-1" => %{}, + "us-east-1" => %{}, + "us-east-2" => %{}, + "us-west-1" => %{}, + "us-west-2" => %{} + } + }, "servicediscovery" => %{ "endpoints" => %{ "ap-northeast-1" => %{}, From d0d0ce16f6d1de879333d2d6a00db987b58cc709 Mon Sep 17 00:00:00 2001 From: Nick Kezhaya Date: Mon, 30 Oct 2023 09:21:05 -0500 Subject: [PATCH 077/115] Add personalize to endpoints --- priv/endpoints.exs | 48 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 96dd9324..a78f3e12 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -34,6 +34,51 @@ "us-west-2" => %{"description" => "US West (Oregon)"} }, "services" => %{ + "personalize" => %{ + "endpoints" => %{ + "us-east-1" => %{}, + "us-east-2" => %{}, + "us-west-2" => %{}, + "ap-northeast-1" => %{}, + "ap-northeast-2" => %{}, + "ap-south-1" => %{}, + "ap-southeast-1" => %{}, + "ap-southeast-2" => %{}, + "ca-central-1" => %{}, + "eu-west-1" => %{}, + "eu-central-1" => %{} + } + }, + "personalize-events" => %{ + "endpoints" => %{ + "us-east-1" => %{}, + "us-east-2" => %{}, + "us-west-2" => %{}, + "ap-northeast-1" => %{}, + "ap-northeast-2" => %{}, + "ap-south-1" => %{}, + "ap-southeast-1" => %{}, + "ap-southeast-2" => %{}, + "ca-central-1" => %{}, + "eu-west-1" => %{}, + "eu-central-1" => %{} + } + }, + "personalize-runtime" => %{ + "endpoints" => %{ + "us-east-1" => %{}, + "us-east-2" => %{}, + "us-west-2" => %{}, + "ap-northeast-1" => %{}, + "ap-northeast-2" => %{}, + "ap-south-1" => %{}, + "ap-southeast-1" => %{}, + "ap-southeast-2" => %{}, + "ca-central-1" => %{}, + "eu-west-1" => %{}, + "eu-central-1" => %{} + } + }, "connect" => %{ "endpoints" => %{ "ap-northeast-1" => %{}, @@ -2408,6 +2453,9 @@ "cn-northwest-1" => %{"description" => "China (Ningxia)"} }, "services" => %{ + "personalize" => %{"endpoints" => %{"cn-north-1" => %{}}}, + "personalize-runtime" => %{"endpoints" => %{"cn-north-1" => %{}}}, + "personalize-events" => %{"endpoints" => %{"cn-north-1" => %{}}}, "elasticache" => %{"endpoints" => %{"cn-north-1" => %{}, "cn-northwest-1" => %{}}}, "config" => %{"endpoints" => %{"cn-north-1" => %{}, "cn-northwest-1" => %{}}}, "iam" => %{ From c34451a7daee0186e88794cc05ee228200dd01c8 Mon Sep 17 00:00:00 2001 From: Nick Kezhaya Date: Thu, 9 Nov 2023 10:12:39 -0600 Subject: [PATCH 078/115] Override service for personalize runtime and events --- lib/ex_aws/config/defaults.ex | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/ex_aws/config/defaults.ex b/lib/ex_aws/config/defaults.ex index 2635f1d5..b0c4c10d 100644 --- a/lib/ex_aws/config/defaults.ex +++ b/lib/ex_aws/config/defaults.ex @@ -37,6 +37,16 @@ defmodule ExAws.Config.Defaults do |> Map.merge(defaults(:lex)) end + def defaults(:"personalize-runtime") do + %{service_override: :personalize} + |> Map.merge(defaults(:personalize)) + end + + def defaults(:"personalize-events") do + %{service_override: :personalize} + |> Map.merge(defaults(:personalize)) + end + def defaults(:sagemaker_runtime) do %{service_override: :sagemaker} |> Map.merge(defaults(:sagemaker)) From 6a2e1c7e471f579ed83eedbace075b45996a0967 Mon Sep 17 00:00:00 2001 From: Kian-Meng Ang Date: Sat, 18 Nov 2023 14:06:25 +0800 Subject: [PATCH 079/115] Revise GitHub CI List of changes: - add job to check unused deps - bump actions - remove unused deps - use latest OTP/Elixir for linting related jobs --- .github/workflows/on-push.yml | 69 ++++++++++++++++++++++++++--------- mix.lock | 5 --- 2 files changed, 52 insertions(+), 22 deletions(-) diff --git a/.github/workflows/on-push.yml b/.github/workflows/on-push.yml index 33c50c05..8c6f1a28 100644 --- a/.github/workflows/on-push.yml +++ b/.github/workflows/on-push.yml @@ -7,25 +7,58 @@ env: jobs: build: runs-on: ubuntu-20.04 + # See https://hexdocs.pm/elixir/compatibility-and-deprecations.html#compatibility-between-elixir-and-erlang-otp strategy: matrix: - otp: [23.x, 24.x, 25.x] - elixir: [1.11.x, 1.12.x, 1.13.x, 1.14.x, 1.15.x] - exclude: - - otp: 25.x - elixir: 1.11.x - - otp: 25.x - elixir: 1.12.x - - otp: 23.x - elixir: 1.15.x + include: + - pair: + otp: 26.x + elixir: 1.15.x + lint: lint + - pair: + otp: 25.x + elixir: 1.15.x + - pair: + otp: 25.x + elixir: 1.14.x + - pair: + otp: 25.x + elixir: 1.13.x + - pair: + otp: 24.x + elixir: 1.15.x + - pair: + otp: 24.x + elixir: 1.14.x + - pair: + otp: 24.x + elixir: 1.13.x + - pair: + otp: 24.x + elixir: 1.12.x + - pair: + otp: 24.x + elixir: 1.11.x + - pair: + otp: 23.x + elixir: 1.14.x + - pair: + otp: 23.x + elixir: 1.13.x + - pair: + otp: 23.x + elixir: 1.12.x + - pair: + otp: 23.x + elixir: 1.11.x steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - uses: erlef/setup-beam@v1 with: - otp-version: ${{matrix.otp}} - elixir-version: ${{matrix.elixir}} - - uses: rrainn/dynamodb-action@v2.0.0 + otp-version: ${{matrix.pair.otp}} + elixir-version: ${{matrix.pair.elixir}} + - uses: rrainn/dynamodb-action@v3.0.0 with: port: 8000 cors: "*" @@ -34,13 +67,15 @@ jobs: path: | deps _build - key: ${{ runner.os }}-mix-${{matrix.otp}}-${{matrix.elixir}}-${{ hashFiles('**/mix.lock') }} + key: ${{ runner.os }}-mix-${{matrix.pair.otp}}-${{matrix.pair.elixir}}-${{ hashFiles('**/mix.lock') }} restore-keys: | - ${{ runner.os }}-mix-${{matrix.otp}}-${{matrix.elixir}}- + ${{ runner.os }}-mix-${{matrix.pair.otp}}-${{matrix.pair.elixir}}- - run: mix deps.get - run: mix compile + - run: mix deps.unlock --check-unused + if: ${{matrix.lint}} # Only check formatting with the latest verison - run: mix format --check-formatted - if: matrix.elixir == '1.15.x' # Only check formatting with the latest verison + if: ${{matrix.lint}} - run: mix dialyzer - if: matrix.elixir == '1.15.x' + if: ${{matrix.lint}} - run: mix test diff --git a/mix.lock b/mix.lock index 9ec8503b..ae08c0f9 100644 --- a/mix.lock +++ b/mix.lock @@ -7,8 +7,6 @@ "cowboy_telemetry": {:hex, :cowboy_telemetry, "0.4.0", "f239f68b588efa7707abce16a84d0d2acf3a0f50571f8bb7f56a15865aae820c", [:rebar3], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de"}, "cowlib": {:hex, :cowlib, "2.12.1", "a9fa9a625f1d2025fe6b462cb865881329b5caff8f1854d1cbc9f9533f00e1e1", [:make, :rebar3], [], "hexpm", "163b73f6367a7341b33c794c4e88e7dbfe6498ac42dcd69ef44c5bc5507c8db0"}, "dialyxir": {:hex, :dialyxir, "1.4.2", "764a6e8e7a354f0ba95d58418178d486065ead1f69ad89782817c296d0d746a5", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "516603d8067b2fd585319e4b13d3674ad4f314a5902ba8130cd97dc902ce6bbd"}, - "dialyze": {:hex, :dialyze, "0.2.1", "9fb71767f96649020d769db7cbd7290059daff23707d6e851e206b1fdfa92f9d", [:mix], [], "hexpm", "f485181fa53229356621261a384963cb47511cccf1454e82ca4fde53274fcd48"}, - "earmark": {:hex, :earmark, "1.4.3", "364ca2e9710f6bff494117dbbd53880d84bebb692dafc3a78eb50aa3183f2bfd", [:mix], [], "hexpm", "8cf8a291ebf1c7b9539e3cddb19e9cef066c2441b1640f13c34c1d3cfc825fec"}, "earmark_parser": {:hex, :earmark_parser, "1.4.37", "2ad73550e27c8946648b06905a57e4d454e4d7229c2dafa72a0348c99d8be5f7", [:mix], [], "hexpm", "6b19783f2802f039806f375610faa22da130b8edc21209d0bff47918bb48360e"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, "ex_doc": {:hex, :ex_doc, "0.30.9", "d691453495c47434c0f2052b08dd91cc32bc4e1a218f86884563448ee2502dd2", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "d7aaaf21e95dc5cddabf89063327e96867d00013963eadf2c6ad135506a8bc10"}, @@ -16,8 +14,6 @@ "finch": {:hex, :finch, "0.16.0", "40733f02c89f94a112518071c0a91fe86069560f5dbdb39f9150042f44dcfb1a", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.3", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 0.2.6 or ~> 1.0", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f660174c4d519e5fec629016054d60edd822cdfe2b7270836739ac2f97735ec5"}, "hackney": {:hex, :hackney, "1.20.1", "8d97aec62ddddd757d128bfd1df6c5861093419f8f7a4223823537bad5d064e2", [:rebar3], [{:certifi, "~>2.12.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.4.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "fe9094e5f1a2a2c0a7d10918fee36bfec0ec2a979994cff8cfe8058cd9af38e3"}, "hpax": {:hex, :hpax, "0.1.2", "09a75600d9d8bbd064cdd741f21fc06fc1f4cf3d0fcc335e5aa19be1a7235c84", [:mix], [], "hexpm", "2c87843d5a23f5f16748ebe77969880e29809580efdaccd615cd3bed628a8c13"}, - "httpotion": {:hex, :httpotion, "3.2.0", "007c81c3a15b4860c893dea858eab2ce859a260b47071e85dcf9611a4226324e", [:mix], [{:ibrowse, "4.4.0", [hex: :ibrowse, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "726b3fdfc47d7f15302dac5f6a4152a5002fe8230dee8bdd65b8d154b573580b"}, - "ibrowse": {:hex, :ibrowse, "4.4.0", "2d923325efe0d2cb09b9c6a047b2835a5eda69d8a47ed6ff8bc03628b764e991", [:rebar3], [], "hexpm", "6a8e5988872086f0506bef68311493551ac5beae7c06ba2a00d5e9f97a60f1c2"}, "idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"}, "jason": {:hex, :jason, "1.4.1", "af1504e35f629ddcdd6addb3513c3853991f694921b1b9368b0bd32beb9f1b63", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "fbb01ecdfd565b56261302f7e1fcc27c4fb8f32d56eab74db621fc154604a7a1"}, "jsx": {:hex, :jsx, "3.1.0", "d12516baa0bb23a59bb35dccaf02a1bd08243fcbb9efe24f2d9d056ccff71268", [:rebar3], [], "hexpm", "0c5cc8fdc11b53cc25cf65ac6705ad39e54ecc56d1c22e4adb8f5a53fb9427f3"}, @@ -36,7 +32,6 @@ "plug": {:hex, :plug, "1.15.1", "b7efd81c1a1286f13efb3f769de343236bd8b7d23b4a9f40d3002fc39ad8f74c", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "459497bd94d041d98d948054ec6c0b76feacd28eec38b219ca04c0de13c79d30"}, "plug_cowboy": {:hex, :plug_cowboy, "2.6.1", "9a3bbfceeb65eff5f39dab529e5cd79137ac36e913c02067dba3963a26efe9b2", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "de36e1a21f451a18b790f37765db198075c25875c64834bcc82d90b309eb6613"}, "plug_crypto": {:hex, :plug_crypto, "2.0.0", "77515cc10af06645abbfb5e6ad7a3e9714f805ae118fa1a70205f80d2d70fe73", [:mix], [], "hexpm", "53695bae57cc4e54566d993eb01074e4d894b65a3766f1c43e2c61a1b0f45ea9"}, - "poison": {:hex, :poison, "4.0.1", "bcb755a16fac91cad79bfe9fc3585bb07b9331e50cfe3420a24bcc2d735709ae", [:mix], [], "hexpm"}, "ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"}, "req": {:hex, :req, "0.4.5", "2071bbedd280f107b9e33e1ddff2beb3991ec1ae06caa2cca2ab756393d8aca5", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.9", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "dd23e9c7303ddeb2dee09ff11ad8102cca019e38394456f265fb7b9655c64dd8"}, "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, From b65b40601fefe27aa9f593f41d6f406e495fd94f Mon Sep 17 00:00:00 2001 From: Mathias Polligkeit Date: Tue, 21 Nov 2023 14:55:26 +0900 Subject: [PATCH 080/115] update Req HttpClient example --- lib/ex_aws/request/http_client.ex | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/lib/ex_aws/request/http_client.ex b/lib/ex_aws/request/http_client.ex index ca19cafb..be71f5f0 100644 --- a/lib/ex_aws/request/http_client.ex +++ b/lib/ex_aws/request/http_client.ex @@ -7,7 +7,7 @@ defmodule ExAws.Request.HttpClient do The default is `:hackney`. - ## Example + ## Example: Req Here is an example using [Req](https://hexdocs.pm/req/readme.html). @@ -15,9 +15,29 @@ defmodule ExAws.Request.HttpClient do ``` defmodule ExAws.Request.Req do + @moduledoc \""" + ExAws HTTP client implementation for Req. + \""" @behaviour ExAws.Request.HttpClient + + @impl ExAws.Request.HttpClient def request(method, url, body, headers, _http_opts) do - Req.request(method: method, url: url, body: body, headers: headers) + case Req.request( + method: method, + url: url, + body: body, + headers: headers, + decode_body: false + ) do + {:ok, %Req.Response{status: status} = response} -> + {:ok, + response + |> Map.take([:body, :headers]) + |> Map.put(:status_code, status)} + + {:error, exception} -> + {:error, %{reason: exception}} + end end end ``` @@ -41,7 +61,7 @@ defmodule ExAws.Request.HttpClient do - Ensure the call to your chosen HTTP Client is correct and the return is in the same format as defined in the `c:request/5` callback - ## Example + ## Example: Mojito def request(method, url, body, headers, http_opts \\ []) do Mojito.request(method, url, headers, body, http_opts) From b0742d3cbcb768c07977144fb02916ad314a91c8 Mon Sep 17 00:00:00 2001 From: Akos Marton Date: Tue, 28 Nov 2023 15:34:09 +0100 Subject: [PATCH 081/115] Fix us-gov-east-1 kms endpoint. Original: iex(:)> ExAws.Config.Defaults.host("kms", "us-gov-east-1") "kms.us-gov-east-1.amazonaws.com" This commit brings: iex(:)> ExAws.Config.Defaults.host("kms", "us-east-1-fips") "kms-fips.us-east-1.amazonaws.com" --- priv/endpoints.exs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 96dd9324..231e5b32 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -2622,7 +2622,15 @@ }, "ec2" => %{"endpoints" => %{"us-gov-east-1" => %{}, "us-gov-west-1" => %{}}}, "apigateway" => %{"endpoints" => %{"us-gov-east-1" => %{}, "us-gov-west-1" => %{}}}, - "kms" => %{"endpoints" => %{"us-gov-east-1" => %{}, "us-gov-west-1" => %{}}}, + "kms" => %{ + "endpoints" => %{ + "us-gov-east-1" => %{ + "hostname" => "kms-fips.us-gov-east-1.amazonaws.com", + "credentialScope" => %{"region" => "us-gov-east-1"} + }, + "us-gov-west-1" => %{} + } + }, "sms" => %{"endpoints" => %{"us-gov-east-1" => %{}, "us-gov-west-1" => %{}}}, "rds" => %{"endpoints" => %{"us-gov-east-1" => %{}, "us-gov-west-1" => %{}}}, "cloudtrail" => %{"endpoints" => %{"us-gov-east-1" => %{}, "us-gov-west-1" => %{}}}, From 3cfac9e7be07865eff0911801b415e7f63d66dad Mon Sep 17 00:00:00 2001 From: Akos Marton Date: Fri, 1 Dec 2023 12:25:45 +0100 Subject: [PATCH 082/115] Fix s3 gov-us-east-1 and gov-us-west-1 URLs. --- priv/endpoints.exs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 14339df1..9cf68b05 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -2642,11 +2642,11 @@ "hostname" => "s3-fips.us-gov-west-1.amazonaws.com" }, "us-gov-east-1" => %{ - "hostname" => "s3.us-gov-east-1.amazonaws.com", + "hostname" => "s3-fips.us-gov-east-1.amazonaws.com", "protocols" => ["http", "https"] }, "us-gov-west-1" => %{ - "hostname" => "s3.us-gov-west-1.amazonaws.com", + "hostname" => "s3-fips.us-gov-west-1.amazonaws.com", "protocols" => ["http", "https"] } } From 9fb5071bdc5efe95e152747e6ce54ddf2f2270a9 Mon Sep 17 00:00:00 2001 From: J Every Date: Thu, 14 Dec 2023 08:15:07 +0000 Subject: [PATCH 083/115] Bedrock endpoints Without fips --- priv/endpoints.exs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 2ab21580..9f9cc311 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -79,6 +79,25 @@ "eu-central-1" => %{} } }, + "bedrock" => %{ + "endpoints" => %{ + "ap-northeast-1" => %{}, + "ap-southeast-1" => %{}, + "eu-central-1" => %{}, + "us-east-1" => %{}, + "us-west-2" => %{} + } + }, + "bedrock-runtime" => %{ + "defaults" => %{"credentialScope" => %{"service" => "bedrock"}}, + "endpoints" => %{ + "ap-northeast-1" => %{}, + "ap-southeast-1" => %{}, + "eu-central-1" => %{}, + "us-east-1" => %{}, + "us-west-2" => %{} + } + }, "connect" => %{ "endpoints" => %{ "ap-northeast-1" => %{}, From d6899046e53d4925a98aad7466a4998452f9692a Mon Sep 17 00:00:00 2001 From: Mohamed Sabry Hegazy Date: Thu, 21 Dec 2023 10:32:41 +0200 Subject: [PATCH 084/115] Add `me-south-1` to s3 endpoints `me-south-1` is supported in the `aws` partition as can be seen here: https://docs.aws.amazon.com/general/latest/gr/s3.html --- priv/endpoints.exs | 1 + 1 file changed, 1 insertion(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 2ab21580..e42634df 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -1530,6 +1530,7 @@ "eu-west-3" => %{}, "eu-north-1" => %{}, "me-central-1" => %{}, + "me-south-1" => %{}, "s3-external-1" => %{ "credentialScope" => %{"region" => "us-east-1"}, "hostname" => "s3-external-1.amazonaws.com", From a2252b409bb40c481b35c5ffdc70425f4b63d97d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 29 Dec 2023 14:33:25 +0000 Subject: [PATCH 085/115] Bump dialyxir from 1.4.2 to 1.4.3 Bumps [dialyxir](https://github.com/jeremyjh/dialyxir) from 1.4.2 to 1.4.3. - [Release notes](https://github.com/jeremyjh/dialyxir/releases) - [Changelog](https://github.com/jeremyjh/dialyxir/blob/master/CHANGELOG.md) - [Commits](https://github.com/jeremyjh/dialyxir/compare/1.4.2...1.4.3) --- updated-dependencies: - dependency-name: dialyxir dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index ae08c0f9..aba0ee6e 100644 --- a/mix.lock +++ b/mix.lock @@ -6,7 +6,7 @@ "cowboy": {:hex, :cowboy, "2.10.0", "ff9ffeff91dae4ae270dd975642997afe2a1179d94b1887863e43f681a203e26", [:make, :rebar3], [{:cowlib, "2.12.1", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "3afdccb7183cc6f143cb14d3cf51fa00e53db9ec80cdcd525482f5e99bc41d6b"}, "cowboy_telemetry": {:hex, :cowboy_telemetry, "0.4.0", "f239f68b588efa7707abce16a84d0d2acf3a0f50571f8bb7f56a15865aae820c", [:rebar3], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de"}, "cowlib": {:hex, :cowlib, "2.12.1", "a9fa9a625f1d2025fe6b462cb865881329b5caff8f1854d1cbc9f9533f00e1e1", [:make, :rebar3], [], "hexpm", "163b73f6367a7341b33c794c4e88e7dbfe6498ac42dcd69ef44c5bc5507c8db0"}, - "dialyxir": {:hex, :dialyxir, "1.4.2", "764a6e8e7a354f0ba95d58418178d486065ead1f69ad89782817c296d0d746a5", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "516603d8067b2fd585319e4b13d3674ad4f314a5902ba8130cd97dc902ce6bbd"}, + "dialyxir": {:hex, :dialyxir, "1.4.3", "edd0124f358f0b9e95bfe53a9fcf806d615d8f838e2202a9f430d59566b6b53b", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "bf2cfb75cd5c5006bec30141b131663299c661a864ec7fbbc72dfa557487a986"}, "earmark_parser": {:hex, :earmark_parser, "1.4.37", "2ad73550e27c8946648b06905a57e4d454e4d7229c2dafa72a0348c99d8be5f7", [:mix], [], "hexpm", "6b19783f2802f039806f375610faa22da130b8edc21209d0bff47918bb48360e"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, "ex_doc": {:hex, :ex_doc, "0.30.9", "d691453495c47434c0f2052b08dd91cc32bc4e1a218f86884563448ee2502dd2", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "d7aaaf21e95dc5cddabf89063327e96867d00013963eadf2c6ad135506a8bc10"}, From 2d74d3e14e711080f4c4c9564830bbc777cad534 Mon Sep 17 00:00:00 2001 From: Yegor Shevchenko Date: Wed, 3 Jan 2024 10:03:58 +0000 Subject: [PATCH 086/115] Add eu-central-2 to ECS, KMS, SSM endpoints --- priv/endpoints.exs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index e42634df..7a047e9d 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -1017,6 +1017,7 @@ "ap-southeast-2" => %{}, "ca-central-1" => %{}, "eu-central-1" => %{}, + "eu-central-2" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, "eu-west-3" => %{}, @@ -1220,6 +1221,7 @@ "ap-southeast-2" => %{}, "ca-central-1" => %{}, "eu-central-1" => %{}, + "eu-central-2" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, "eu-west-3" => %{}, @@ -2162,6 +2164,7 @@ "ap-southeast-2" => %{}, "ca-central-1" => %{}, "eu-central-1" => %{}, + "eu-central-2" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, "eu-west-3" => %{}, From 3ec23e1df076e8f39dc48a36e4f80a112b0e296a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dino=20Kovac=CC=8C?= Date: Wed, 3 Jan 2024 13:23:42 +0100 Subject: [PATCH 087/115] Fix Req example HttpClient implementation for Req 0.4+ This builds on work in #1015 adding a bit of code to adjust the header format to the expected list of 2-element tuples. Req 0.4+ changed the header format to be a map where the key is a string and the value is a list of strings, e.g.: ```elixir %{ "content-length" => ["12345"] } ``` This change makes the current example fail whenever you try to perform a streaming operation because this code in `ExAws.S3.Download` assumes a single value: ```elixir defp get_file_size(bucket, path, config) do %{headers: headers} = ExAws.S3.head_object(bucket, path) |> ExAws.request!(config) headers |> Enum.find(fn {k, _} -> String.downcase(k) == "content-length" end) |> elem(1) |> String.to_integer() end ``` With the proposed change, the example implementation should handle both new and old Req versions; though I've only tested with a recent one. --- lib/ex_aws/request/http_client.ex | 33 +++++++++++++++++-------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/lib/ex_aws/request/http_client.ex b/lib/ex_aws/request/http_client.ex index be71f5f0..dcde4095 100644 --- a/lib/ex_aws/request/http_client.ex +++ b/lib/ex_aws/request/http_client.ex @@ -22,23 +22,26 @@ defmodule ExAws.Request.HttpClient do @impl ExAws.Request.HttpClient def request(method, url, body, headers, _http_opts) do - case Req.request( - method: method, - url: url, - body: body, - headers: headers, - decode_body: false - ) do - {:ok, %Req.Response{status: status} = response} -> - {:ok, - response - |> Map.take([:body, :headers]) - |> Map.put(:status_code, status)} - - {:error, exception} -> - {:error, %{reason: exception}} + case Req.request(method: method, url: url, body: body, headers: headers, decode_body: false) do + {:ok, response} -> {:ok, adapt_response(response)} + {:error, reason} -> {:error, %{reason: reason}} end end + + defp adapt_response(response) do + # adapt the response to fit the shape expected by ExAWS + flat_headers = + Enum.flat_map(response.headers, fn + {name, vals} when is_list(vals) -> Enum.map(vals, &{name, &1}) + {name, val} -> {name, val} + end) + + %{ + body: response.body, + status_code: response.status, + headers: flat_headers + } + end end ``` From 5c7244d1ec8d01aedcb2d2d51f83cdc01a4eafea Mon Sep 17 00:00:00 2001 From: Bernard Duggan Date: Thu, 11 Jan 2024 16:58:21 +1100 Subject: [PATCH 088/115] Bump version and update CHANGELOG (v2.5.1) --- CHANGELOG.md | 8 ++++++++ mix.exs | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8702e599..1a63dd5b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +v2.5.1 (2024-01-11) +- Endpoint updates +- Documentation updates +- Fix request error handling when error type is a proplist +- Fixes to ensure Req and Finch clients return the same success fields as hackney +- Add basic support for Personalise service +- Add basic support for Bedrock service + v2.5.0 - [Breaking] Bump minimum elixir version to 1.11 - Replace retired HTTPotion with Req as default web client diff --git a/mix.exs b/mix.exs index 721f2726..a8167d5f 100644 --- a/mix.exs +++ b/mix.exs @@ -2,7 +2,7 @@ defmodule ExAws.Mixfile do use Mix.Project @source_url "https://github.com/ex-aws/ex_aws" - @version "2.5.0" + @version "2.5.1" def project do [ From d5fe7612385a22c077302b63794fb38910abf971 Mon Sep 17 00:00:00 2001 From: Rodolfo Silva Date: Tue, 5 Mar 2024 18:44:31 -0500 Subject: [PATCH 089/115] Add `aoss` to endpoints.exs Add the OpenSearch Servelerss service to the endpoints list --- priv/endpoints.exs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 3d78ca18..7167b83f 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -684,6 +684,27 @@ "us-west-2" => %{} } }, + "aoss" => %{ + "endpoints" => %{ + "ap-northeast-1" => %{}, + "ap-northeast-2" => %{}, + "ap-east-1" => %{}, + "ap-south-1" => %{}, + "ap-southeast-1" => %{}, + "ap-southeast-2" => %{}, + "ca-central-1" => %{}, + "eu-central-1" => %{}, + "eu-west-1" => %{}, + "eu-west-2" => %{}, + "eu-west-3" => %{}, + "eu-north-1" => %{}, + "sa-east-1" => %{}, + "us-east-1" => %{}, + "us-east-2" => %{}, + "us-west-1" => %{}, + "us-west-2" => %{} + } + }, "session.qldb" => %{ "endpoints" => %{ "ap-northeast-1" => %{}, @@ -2562,6 +2583,7 @@ "endpoints" => %{"cn-north-1" => %{}, "cn-northwest-1" => %{}} }, "es" => %{"endpoints" => %{"cn-northwest-1" => %{}}}, + "aoss" => %{"endpoints" => %{"cn-northwest-1" => %{}}}, "monitoring" => %{ "defaults" => %{"protocols" => ["http", "https"]}, "endpoints" => %{"cn-north-1" => %{}, "cn-northwest-1" => %{}} @@ -2722,6 +2744,7 @@ } }, "es" => %{"endpoints" => %{"us-gov-east-1" => %{}, "us-gov-west-1" => %{}}}, + "aoss" => %{"endpoints" => %{"us-gov-east-1" => %{}, "us-gov-west-1" => %{}}}, "monitoring" => %{"endpoints" => %{"us-gov-east-1" => %{}, "us-gov-west-1" => %{}}}, "elasticloadbalancing" => %{ "endpoints" => %{ From ec108149d4d10f3485a4102f8861fc4a3e347dbb Mon Sep 17 00:00:00 2001 From: rzcastilho Date: Wed, 13 Mar 2024 21:12:28 -0300 Subject: [PATCH 090/115] add `bcm-data-exports` to endpoints.exs --- priv/endpoints.exs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 7167b83f..a47889d1 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -982,6 +982,16 @@ "isRegionalized" => false, "partitionEndpoint" => "aws-global" }, + "bcm-data-exports" => %{ + "endpoints" => %{ + "aws-global" => %{ + "credentialScope" => %{"region" => "us-east-1"}, + "hostname" => "bcm-data-exports.us-east-1.api.aws" + } + }, + "isRegionalized" => false, + "partitionEndpoint" => "aws-global" + }, "ds" => %{ "endpoints" => %{ "ap-northeast-1" => %{}, From dcc76dc43aad1a2bed7fad3d71a33fd03d4b8cfd Mon Sep 17 00:00:00 2001 From: Bernard Duggan Date: Tue, 19 Mar 2024 11:44:21 +1100 Subject: [PATCH 091/115] Update chime endpoints --- .tool-versions | 1 + priv/endpoints.exs | 106 +++++++++++++++++++++++++++++++++++++++------ 2 files changed, 93 insertions(+), 14 deletions(-) diff --git a/.tool-versions b/.tool-versions index 19876365..a013f295 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1,2 @@ elixir 1.15 +erlang 26.1.2 diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 7167b83f..06224580 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -1,3 +1,52 @@ +# Note that these lists are the CONTROL regions (since those are where we can hit the API), +# not the MEDIA regions. +# See https://docs.aws.amazon.com/general/latest/gr/chime-sdk.htm +chime_identity_regions = [ + "eu-central-1", + "us-east-1" +] + +chime_meeting_regions = [ + "ap-south-1", + "ap-northeast-1", + "ap-northeast-2", + "ap-southeast-1", + "ap-southeast-2", + "ca-central-1", + "eu-central-1", + "eu-west-2", + "il-central-1", + "us-gov-east-1", + "us-gov-west-1", + "us-east-1", + "us-west-2" +] + +chime_media_pipeline_regions = [ + "ap-southeast-1", + "eu-central-1", + "us-east-1", + "us-west-2" +] + +chime_messaging_regions = [ + "eu-central-1", + "us-east-1" +] + +chime_voice_regions = [ + "ap-nottheast-1", + "ap-nottheast-2", + "ap-southeast-1", + "ap-southeast-2", + "ca-central-1", + "eu-central-1", + "eu-west-1", + "eu-west-2", + "us-east-1", + "us-west-2" +] + %{ "partitions" => [ %{ @@ -1507,6 +1556,7 @@ "us-west-2" => %{} } }, + # Deprecated - will not work after 2024-06-29: "chime" => %{ "endpoints" => %{ "aws-global" => %{ @@ -1517,22 +1567,50 @@ "isRegionalized" => false, "partitionEndpoint" => "aws-global" }, + "chime-sdk-identity" => %{ + "defaults" => %{"signatureVersions" => ["v4"]}, + "endpoints" => + Enum.map( + chime_identity_regions, + &{&1, %{"hostname" => "identity-chime.#{&1}.amazonaws.com"}} + ) + |> Map.new() + }, "chime-sdk-media-pipelines" => %{ "defaults" => %{"signatureVersions" => ["v4"]}, - "endpoints" => %{ - "ap-southeast-1" => %{ - "hostname" => "media-pipelines-chime.ap-southeast-1.amazonaws.com" - }, - "eu-central-1" => %{ - "hostname" => "media-pipelines-chime.eu-central-1.amazonaws.com" - }, - "us-east-1" => %{ - "hostname" => "media-pipelines-chime.us-east-1.amazonaws.com" - }, - "us-west-2" => %{ - "hostname" => "media-pipelines-chime.us-west-2.amazonaws.com" - } - } + "endpoints" => + Enum.map( + chime_media_pipeline_regions, + &{&1, %{"hostname" => "media-pipelines-chime.#{&1}.amazonaws.com"}} + ) + |> Map.new() + }, + "chime-sdk-meetings" => %{ + "defaults" => %{"signatureVersions" => ["v4"]}, + "endpoints" => + Enum.map( + chime_meeting_regions, + &{&1, %{"hostname" => "meetings-chime.#{&1}.amazonaws.com"}} + ) + |> Map.new() + }, + "chime-sdk-messaging" => %{ + "defaults" => %{"signatureVersions" => ["v4"]}, + "endpoints" => + Enum.map( + chime_messaging_regions, + &{&1, %{"hostname" => "messaging-chime.#{&1}.amazonaws.com"}} + ) + |> Map.new() + }, + "chime-sdk-voice" => %{ + "defaults" => %{"signatureVersions" => ["v4"]}, + "endpoints" => + Enum.map( + chime_voice_regions, + &{&1, %{"hostname" => "voice-chime.#{&1}.amazonaws.com"}} + ) + |> Map.new() }, "s3" => %{ "defaults" => %{"protocols" => ["http", "https"], "signatureVersions" => ["s3v4"]}, From 7b2f293f1202b73bf4d41d2644d200e2489939f5 Mon Sep 17 00:00:00 2001 From: Bernard Duggan Date: Tue, 19 Mar 2024 17:09:49 +1100 Subject: [PATCH 092/115] Bump version and update CHANGELOG (v2.5.2) --- CHANGELOG.md | 3 +++ mix.exs | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a63dd5b..2bc68294 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +v2.5.2 (2024-03-19) +- Endpoint updates + v2.5.1 (2024-01-11) - Endpoint updates - Documentation updates diff --git a/mix.exs b/mix.exs index a8167d5f..48cb885f 100644 --- a/mix.exs +++ b/mix.exs @@ -2,7 +2,7 @@ defmodule ExAws.Mixfile do use Mix.Project @source_url "https://github.com/ex-aws/ex_aws" - @version "2.5.1" + @version "2.5.2" def project do [ From 5de2e0748b7d21f87c4b7f6520e17550532a0f3d Mon Sep 17 00:00:00 2001 From: Bernard Duggan Date: Wed, 20 Mar 2024 12:12:56 +1100 Subject: [PATCH 093/115] Add chime service overrides --- lib/ex_aws/config/defaults.ex | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/ex_aws/config/defaults.ex b/lib/ex_aws/config/defaults.ex index b0c4c10d..87881a66 100644 --- a/lib/ex_aws/config/defaults.ex +++ b/lib/ex_aws/config/defaults.ex @@ -82,7 +82,13 @@ defmodule ExAws.Config.Defaults do |> Map.merge(defaults(:geo)) end - def defaults(:"chime-sdk-media-pipelines") do + def defaults(chime_service) + when chime_service in [ + :"chime-sdk-media-pipelines", + :"chime-sdk-identity", + :"chime-sdk-meetings", + :"chime-sdk-voice" + ] do %{service_override: :chime} |> Map.merge(defaults(:chime)) end From e2e9bc665e559bddc943cdefd7e30feefa19f46d Mon Sep 17 00:00:00 2001 From: Mathias Polligkeit Date: Sat, 23 Mar 2024 20:58:13 +0900 Subject: [PATCH 094/115] add changelog to package files --- mix.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.exs b/mix.exs index 48cb885f..49259a64 100644 --- a/mix.exs +++ b/mix.exs @@ -58,7 +58,7 @@ defmodule ExAws.Mixfile do defp package do [ description: description(), - files: ["priv", "lib", "config", "mix.exs", "README*", "LICENSE"], + files: ["priv", "lib", "config", "mix.exs", "CHANGELOG.md", "README*", "LICENSE"], maintainers: ["Bernard Duggan", "Ben Wilson"], licenses: ["MIT"], links: %{ From 35673b9d176e9c06b175bb14b2fc7c4f0bb7e6d7 Mon Sep 17 00:00:00 2001 From: Akos Marton Date: Thu, 4 Apr 2024 13:12:02 +0200 Subject: [PATCH 095/115] Extend supported regions. --- priv/endpoints.exs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 731f1d12..218c94a7 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -1114,13 +1114,17 @@ chime_voice_regions = [ "ap-south-1" => %{}, "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, + "ap-southeast-3" => %{}, "ca-central-1" => %{}, "eu-central-1" => %{}, "eu-central-2" => %{}, + "eu-south-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, "eu-west-3" => %{}, "eu-north-1" => %{}, + "me-central-1" => %{}, + "me-south-1" => %{}, "sa-east-1" => %{}, "us-east-1" => %{}, "us-east-1-fips" => %{ @@ -1177,12 +1181,17 @@ chime_voice_regions = [ "ap-south-1" => %{}, "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, + "ap-southeast-3" => %{}, "ca-central-1" => %{}, "eu-central-1" => %{}, + "eu-central-2" => %{}, + "eu-south-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, "eu-west-3" => %{}, "eu-north-1" => %{}, + "me-central-1" => %{}, + "me-south-1" => %{}, "sa-east-1" => %{}, "us-east-1" => %{"sslCommonName" => "{service}.{dnsSuffix}"}, "us-east-1-fips" => %{ @@ -1783,13 +1792,18 @@ chime_voice_regions = [ "ap-south-1" => %{}, "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, + "ap-southeast-3" => %{}, "aws-global" => %{}, "ca-central-1" => %{}, "eu-central-1" => %{}, + "eu-central-2" => %{}, + "eu-south-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, "eu-west-3" => %{}, "eu-north-1" => %{}, + "me-central-1" => %{}, + "me-south-1" => %{}, "sa-east-1" => %{}, "us-east-1" => %{}, "us-east-1-fips" => %{ From 4b9a1c5e142ef0a1ce06d8b808e53eee7b592dce Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Apr 2024 14:07:37 +0000 Subject: [PATCH 096/115] Bump excoveralls from 0.18.0 to 0.18.1 Bumps [excoveralls](https://github.com/parroty/excoveralls) from 0.18.0 to 0.18.1. - [Release notes](https://github.com/parroty/excoveralls/releases) - [Changelog](https://github.com/parroty/excoveralls/blob/master/CHANGELOG.md) - [Commits](https://github.com/parroty/excoveralls/compare/v0.18.0...v0.18.1) --- updated-dependencies: - dependency-name: excoveralls dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- mix.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mix.lock b/mix.lock index aba0ee6e..8e9199ce 100644 --- a/mix.lock +++ b/mix.lock @@ -1,6 +1,6 @@ %{ "bypass": {:hex, :bypass, "2.1.0", "909782781bf8e20ee86a9cabde36b259d44af8b9f38756173e8f5e2e1fabb9b1", [:mix], [{:plug, "~> 1.7", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.0", [hex: :plug_cowboy, repo: "hexpm", optional: false]}, {:ranch, "~> 1.3", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "d9b5df8fa5b7a6efa08384e9bbecfe4ce61c77d28a4282f79e02f1ef78d96b80"}, - "castore": {:hex, :castore, "1.0.4", "ff4d0fb2e6411c0479b1d965a814ea6d00e51eb2f58697446e9c41a97d940b28", [:mix], [], "hexpm", "9418c1b8144e11656f0be99943db4caf04612e3eaecefb5dae9a2a87565584f8"}, + "castore": {:hex, :castore, "1.0.6", "ffc42f110ebfdafab0ea159cd43d31365fa0af0ce4a02ecebf1707ae619ee727", [:mix], [], "hexpm", "374c6e7ca752296be3d6780a6d5b922854ffcc74123da90f2f328996b962d33a"}, "certifi": {:hex, :certifi, "2.12.0", "2d1cca2ec95f59643862af91f001478c9863c2ac9cb6e2f89780bfd8de987329", [:rebar3], [], "hexpm", "ee68d85df22e554040cdb4be100f33873ac6051387baf6a8f6ce82272340ff1c"}, "configparser_ex": {:hex, :configparser_ex, "4.0.0", "17e2b831cfa33a08c56effc610339b2986f0d82a9caa0ed18880a07658292ab6", [:mix], [], "hexpm", "02e6d1a559361a063cba7b75bc3eb2d6ad7e62730c551cc4703541fd11e65e5b"}, "cowboy": {:hex, :cowboy, "2.10.0", "ff9ffeff91dae4ae270dd975642997afe2a1179d94b1887863e43f681a203e26", [:make, :rebar3], [{:cowlib, "2.12.1", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "3afdccb7183cc6f143cb14d3cf51fa00e53db9ec80cdcd525482f5e99bc41d6b"}, @@ -10,7 +10,7 @@ "earmark_parser": {:hex, :earmark_parser, "1.4.37", "2ad73550e27c8946648b06905a57e4d454e4d7229c2dafa72a0348c99d8be5f7", [:mix], [], "hexpm", "6b19783f2802f039806f375610faa22da130b8edc21209d0bff47918bb48360e"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, "ex_doc": {:hex, :ex_doc, "0.30.9", "d691453495c47434c0f2052b08dd91cc32bc4e1a218f86884563448ee2502dd2", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "d7aaaf21e95dc5cddabf89063327e96867d00013963eadf2c6ad135506a8bc10"}, - "excoveralls": {:hex, :excoveralls, "0.18.0", "b92497e69465dc51bc37a6422226ee690ab437e4c06877e836f1c18daeb35da9", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "1109bb911f3cb583401760be49c02cbbd16aed66ea9509fc5479335d284da60b"}, + "excoveralls": {:hex, :excoveralls, "0.18.1", "a6f547570c6b24ec13f122a5634833a063aec49218f6fff27de9df693a15588c", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "d65f79db146bb20399f23046015974de0079668b9abb2f5aac074d078da60b8d"}, "finch": {:hex, :finch, "0.16.0", "40733f02c89f94a112518071c0a91fe86069560f5dbdb39f9150042f44dcfb1a", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.3", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 0.2.6 or ~> 1.0", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f660174c4d519e5fec629016054d60edd822cdfe2b7270836739ac2f97735ec5"}, "hackney": {:hex, :hackney, "1.20.1", "8d97aec62ddddd757d128bfd1df6c5861093419f8f7a4223823537bad5d064e2", [:rebar3], [{:certifi, "~>2.12.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.4.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "fe9094e5f1a2a2c0a7d10918fee36bfec0ec2a979994cff8cfe8058cd9af38e3"}, "hpax": {:hex, :hpax, "0.1.2", "09a75600d9d8bbd064cdd741f21fc06fc1f4cf3d0fcc335e5aa19be1a7235c84", [:mix], [], "hexpm", "2c87843d5a23f5f16748ebe77969880e29809580efdaccd615cd3bed628a8c13"}, From 8ffe6439b1b4197d6f577a449abee356d4066fe9 Mon Sep 17 00:00:00 2001 From: Robert Jenkins Date: Tue, 9 Apr 2024 17:11:30 -0600 Subject: [PATCH 097/115] Update file.ex - Add way to merge in contents of other sections (sso_session, services) --- lib/ex_aws/credentials_ini/file.ex | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/lib/ex_aws/credentials_ini/file.ex b/lib/ex_aws/credentials_ini/file.ex index eb6d1e79..8bfc2991 100644 --- a/lib/ex_aws/credentials_ini/file.ex +++ b/lib/ex_aws/credentials_ini/file.ex @@ -9,6 +9,10 @@ if Code.ensure_loaded?(ConfigParser) do sso_start_url sso_region sso_account_id sso_role_name ) + @special_merge_keys ~w( + sso_session services + ) + def security_credentials(profile_name) do config_credentials = profile_from_config(profile_name) shared_credentials = profile_from_shared_credentials(profile_name) @@ -227,8 +231,9 @@ if Code.ensure_loaded?(ConfigParser) do contents |> ConfigParser.parse_string() |> case do - {:ok, %{^profile_name => config}} -> - strip_key_prefix(config) + {:ok, %{^profile_name => config} = full} -> + merge_special_keys(full, config) + |> strip_key_prefix() {:ok, %{}} -> %{} @@ -240,6 +245,23 @@ if Code.ensure_loaded?(ConfigParser) do def parse_ini_file(_, _), do: %{} + def merge_special_keys(full_config, credentials) do + credentials + |> Map.take(@special_merge_keys) + |> Enum.reduce(credentials, fn {key, val}, acc -> + merge_section = "#{String.replace(key, "_", "-")} #{val}" + + case full_config do + %{^merge_section => config} -> + Map.merge(config, acc) + |> Map.delete(key) + + _ -> + acc + end + end) + end + def strip_key_prefix(credentials) do credentials |> Map.take(@valid_config_keys) From 2bfee6fbf4a7ae792d2dc2ad43db943d9c56a649 Mon Sep 17 00:00:00 2001 From: Robert Jenkins Date: Tue, 9 Apr 2024 17:18:01 -0600 Subject: [PATCH 098/115] Update file_test.exs --- test/ex_aws/credentials_ini/file_test.exs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/test/ex_aws/credentials_ini/file_test.exs b/test/ex_aws/credentials_ini/file_test.exs index 59073dd3..32c04645 100644 --- a/test/ex_aws/credentials_ini/file_test.exs +++ b/test/ex_aws/credentials_ini/file_test.exs @@ -37,6 +37,28 @@ defmodule ExAws.CredentialsIni.File.FileTest do assert config.sso_role_name == "SomeRole" end + test "config file is parsed with sso config that uses sso_session" do + example_config = """ + [sso-session somecompany] + sso_start_url = https://start.us-gov-home.awsapps.com/directory/somecompany + sso_region = us-gov-west-1 + + [default] + sso_session = somecompany + sso_account_id = 123456789101 + sso_role_name = SomeRole + region = us-gov-west-1 + output = json + """ + + config = ExAws.CredentialsIni.File.parse_ini_file({:ok, example_config}, "default") + + assert config.sso_start_url == "https://start.us-gov-home.awsapps.com/directory/somecompany" + assert config.sso_region == "us-gov-west-1" + assert config.sso_account_id == "123456789101" + assert config.sso_role_name == "SomeRole" + end + test "{:system} in profile name gets dynamic profile name" do System.put_env("AWS_PROFILE", "custom-profile") From e948a5956aa5abe4bb8c0b7313fe56961278813f Mon Sep 17 00:00:00 2001 From: Robert Jenkins Date: Tue, 9 Apr 2024 17:43:56 -0600 Subject: [PATCH 099/115] Took out services for now --- lib/ex_aws/credentials_ini/file.ex | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/ex_aws/credentials_ini/file.ex b/lib/ex_aws/credentials_ini/file.ex index 8bfc2991..304ad732 100644 --- a/lib/ex_aws/credentials_ini/file.ex +++ b/lib/ex_aws/credentials_ini/file.ex @@ -9,9 +9,7 @@ if Code.ensure_loaded?(ConfigParser) do sso_start_url sso_region sso_account_id sso_role_name ) - @special_merge_keys ~w( - sso_session services - ) + @special_merge_keys ~w(sso_session) def security_credentials(profile_name) do config_credentials = profile_from_config(profile_name) From 69c1f2a0757e5b4efdb03fe9c33c24c34ab8a80d Mon Sep 17 00:00:00 2001 From: Robert Jenkins Date: Tue, 9 Apr 2024 18:29:42 -0600 Subject: [PATCH 100/115] Fix cache lookup when sso_session is used --- lib/ex_aws/credentials_ini/file.ex | 14 +++++++------- test/ex_aws/credentials_ini/file_test.exs | 1 + 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/ex_aws/credentials_ini/file.ex b/lib/ex_aws/credentials_ini/file.ex index 304ad732..fd90eadf 100644 --- a/lib/ex_aws/credentials_ini/file.ex +++ b/lib/ex_aws/credentials_ini/file.ex @@ -6,7 +6,7 @@ if Code.ensure_loaded?(ConfigParser) do @valid_config_keys ~w( aws_access_key_id aws_secret_access_key aws_session_token region role_arn source_profile credential_source external_id mfa_serial role_session_name credential_process - sso_start_url sso_region sso_account_id sso_role_name + sso_start_url sso_region sso_account_id sso_role_name sso_session ) @special_merge_keys ~w(sso_session) @@ -21,9 +21,10 @@ if Code.ensure_loaded?(ConfigParser) do sso_account_id: sso_account_id, sso_role_name: sso_role_name } -> + sso_lookup_key = Map.get(config_credentials, :sso_session, sso_start_url) config = ExAws.Config.http_config(:sso) - case get_sso_role_credentials(sso_start_url, sso_account_id, sso_role_name, config) do + case get_sso_role_credentials(sso_lookup_key, sso_account_id, sso_role_name, config) do {:ok, sso_creds} -> {:ok, Map.merge(sso_creds, shared_credentials)} {:error, _} = err -> err end @@ -41,9 +42,9 @@ if Code.ensure_loaded?(ConfigParser) do end end - defp get_sso_role_credentials(sso_start_url, sso_account_id, sso_role_name, config) do + defp get_sso_role_credentials(sso_lookup_key, sso_account_id, sso_role_name, config) do with {_, {:ok, sso_cache_content}} <- - {:read, File.read(get_sso_cache_file(sso_start_url))}, + {:read, File.read(get_sso_cache_file(sso_lookup_key))}, {_, {:ok, %{"expiresAt" => expires_at, "accessToken" => access_token, "region" => region}}} <- {:decode, config[:json_codec].decode(sso_cache_content)}, @@ -70,8 +71,8 @@ if Code.ensure_loaded?(ConfigParser) do end end - defp get_sso_cache_file(sso_start_url) do - hash = :crypto.hash(:sha, sso_start_url) |> Base.encode16() |> String.downcase() + defp get_sso_cache_file(sso_lookup_key) do + hash = :crypto.hash(:sha, sso_lookup_key) |> Base.encode16() |> String.downcase() System.user_home() |> Path.join(".aws/sso/cache/#{hash}.json") @@ -252,7 +253,6 @@ if Code.ensure_loaded?(ConfigParser) do case full_config do %{^merge_section => config} -> Map.merge(config, acc) - |> Map.delete(key) _ -> acc diff --git a/test/ex_aws/credentials_ini/file_test.exs b/test/ex_aws/credentials_ini/file_test.exs index 32c04645..e18bf706 100644 --- a/test/ex_aws/credentials_ini/file_test.exs +++ b/test/ex_aws/credentials_ini/file_test.exs @@ -53,6 +53,7 @@ defmodule ExAws.CredentialsIni.File.FileTest do config = ExAws.CredentialsIni.File.parse_ini_file({:ok, example_config}, "default") + assert config.sso_session == "somecompany" assert config.sso_start_url == "https://start.us-gov-home.awsapps.com/directory/somecompany" assert config.sso_region == "us-gov-west-1" assert config.sso_account_id == "123456789101" From cf040035c2801560e51a2bb70766b008f1409440 Mon Sep 17 00:00:00 2001 From: Robert Jenkins Date: Tue, 9 Apr 2024 18:51:24 -0600 Subject: [PATCH 101/115] var name change --- lib/ex_aws/credentials_ini/file.ex | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/ex_aws/credentials_ini/file.ex b/lib/ex_aws/credentials_ini/file.ex index fd90eadf..9ae3932e 100644 --- a/lib/ex_aws/credentials_ini/file.ex +++ b/lib/ex_aws/credentials_ini/file.ex @@ -21,10 +21,10 @@ if Code.ensure_loaded?(ConfigParser) do sso_account_id: sso_account_id, sso_role_name: sso_role_name } -> - sso_lookup_key = Map.get(config_credentials, :sso_session, sso_start_url) + sso_cache_key = Map.get(config_credentials, :sso_session, sso_start_url) config = ExAws.Config.http_config(:sso) - case get_sso_role_credentials(sso_lookup_key, sso_account_id, sso_role_name, config) do + case get_sso_role_credentials(sso_cache_key, sso_account_id, sso_role_name, config) do {:ok, sso_creds} -> {:ok, Map.merge(sso_creds, shared_credentials)} {:error, _} = err -> err end @@ -42,9 +42,9 @@ if Code.ensure_loaded?(ConfigParser) do end end - defp get_sso_role_credentials(sso_lookup_key, sso_account_id, sso_role_name, config) do + defp get_sso_role_credentials(sso_cache_key, sso_account_id, sso_role_name, config) do with {_, {:ok, sso_cache_content}} <- - {:read, File.read(get_sso_cache_file(sso_lookup_key))}, + {:read, File.read(get_sso_cache_file(sso_cache_key))}, {_, {:ok, %{"expiresAt" => expires_at, "accessToken" => access_token, "region" => region}}} <- {:decode, config[:json_codec].decode(sso_cache_content)}, @@ -71,8 +71,8 @@ if Code.ensure_loaded?(ConfigParser) do end end - defp get_sso_cache_file(sso_lookup_key) do - hash = :crypto.hash(:sha, sso_lookup_key) |> Base.encode16() |> String.downcase() + defp get_sso_cache_file(sso_cache_key) do + hash = :crypto.hash(:sha, sso_cache_key) |> Base.encode16() |> String.downcase() System.user_home() |> Path.join(".aws/sso/cache/#{hash}.json") From bd8a6acb264e4b65a8906109ae230a983c7e9f01 Mon Sep 17 00:00:00 2001 From: Lee Marlow Date: Thu, 11 Apr 2024 21:42:43 -0600 Subject: [PATCH 102/115] Update locations regions to match https://docs.aws.amazon.com/location/latest/developerguide/location-regions.html 2024-04-11 --- priv/endpoints.exs | 45 +++++++++++++++++++++++++++++++++++---------- 1 file changed, 35 insertions(+), 10 deletions(-) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 731f1d12..7005bc9b 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -2528,65 +2528,90 @@ chime_voice_regions = [ "endpoints" => %{ "us-east-1" => %{}, "us-east-2" => %{}, - "us-west-1" => %{}, + "us-west-2" => %{}, "eu-north-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, + "eu-west-2" => %{}, "ap-northeast-1" => %{}, + "ap-south-1" => %{}, "ap-southeast-1" => %{}, - "ap-southeast-2" => %{} + "ap-southeast-2" => %{}, + "ca-central-1" => %{}, + "sa-east-1" => %{}, + "us-gov-west-1" => %{} } }, "maps.geo" => %{ "endpoints" => %{ "us-east-1" => %{}, "us-east-2" => %{}, - "us-west-1" => %{}, + "us-west-2" => %{}, "eu-north-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, + "eu-west-2" => %{}, "ap-northeast-1" => %{}, + "ap-south-1" => %{}, "ap-southeast-1" => %{}, - "ap-southeast-2" => %{} + "ap-southeast-2" => %{}, + "ca-central-1" => %{}, + "sa-east-1" => %{}, + "us-gov-west-1" => %{} } }, "geofencing.geo" => %{ "endpoints" => %{ "us-east-1" => %{}, "us-east-2" => %{}, - "us-west-1" => %{}, + "us-west-2" => %{}, "eu-north-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, + "eu-west-2" => %{}, "ap-northeast-1" => %{}, + "ap-south-1" => %{}, "ap-southeast-1" => %{}, - "ap-southeast-2" => %{} + "ap-southeast-2" => %{}, + "ca-central-1" => %{}, + "sa-east-1" => %{}, + "us-gov-west-1" => %{} } }, "tracking.geo" => %{ "endpoints" => %{ "us-east-1" => %{}, "us-east-2" => %{}, - "us-west-1" => %{}, + "us-west-2" => %{}, "eu-north-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, + "eu-west-2" => %{}, "ap-northeast-1" => %{}, + "ap-south-1" => %{}, "ap-southeast-1" => %{}, - "ap-southeast-2" => %{} + "ap-southeast-2" => %{}, + "ca-central-1" => %{}, + "sa-east-1" => %{}, + "us-gov-west-1" => %{} } }, "routes.geo" => %{ "endpoints" => %{ "us-east-1" => %{}, "us-east-2" => %{}, - "us-west-1" => %{}, + "us-west-2" => %{}, "eu-north-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, + "eu-west-2" => %{}, "ap-northeast-1" => %{}, + "ap-south-1" => %{}, "ap-southeast-1" => %{}, - "ap-southeast-2" => %{} + "ap-southeast-2" => %{}, + "ca-central-1" => %{}, + "sa-east-1" => %{}, + "us-gov-west-1" => %{} } }, "sso" => %{ From e3b6fc9d26f0059ef0d11b0fa5371443c53f17ac Mon Sep 17 00:00:00 2001 From: Sebastien Perreault Date: Fri, 19 Apr 2024 15:37:09 -0400 Subject: [PATCH 103/115] Update endpoints.exs to support ca-west-1 --- priv/endpoints.exs | 52 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 731f1d12..c7066814 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -69,6 +69,7 @@ chime_voice_regions = [ "ap-southeast-2" => %{"description" => "Asia Pacific (Sydney)"}, "ap-southeast-3" => %{"description" => "Asia Pacific (Jakarta)"}, "ca-central-1" => %{"description" => "Canada (Central)"}, + "ca-west-1" => %{"description" => "Canada (Central)"}, "eu-central-1" => %{"description" => "EU (Frankfurt)"}, "eu-west-1" => %{"description" => "EU (Ireland)"}, "eu-west-2" => %{"description" => "EU (London)"}, @@ -215,6 +216,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -237,6 +239,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -356,6 +359,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -381,6 +385,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{"sslCommonName" => "{service}.{region}.{dnsSuffix}"}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -435,6 +440,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -476,6 +482,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -497,6 +504,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -518,6 +526,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -563,6 +572,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -585,6 +595,8 @@ chime_voice_regions = [ "ap-south-1" => %{}, "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, + "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -640,6 +652,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -662,6 +675,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -691,6 +705,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -721,6 +736,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -742,6 +758,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -831,6 +848,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -982,6 +1000,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -1049,6 +1068,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -1083,6 +1103,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -1115,6 +1136,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-central-2" => %{}, "eu-west-1" => %{}, @@ -1178,6 +1200,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -1266,6 +1289,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -1382,6 +1406,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -1416,6 +1441,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -1437,6 +1463,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -1457,6 +1484,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -1649,6 +1677,7 @@ chime_voice_regions = [ "signatureVersions" => ["s3", "s3v4"] }, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-central-2" => %{}, "eu-west-1" => %{ @@ -1755,6 +1784,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -1785,6 +1815,7 @@ chime_voice_regions = [ "ap-southeast-2" => %{}, "aws-global" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -1828,6 +1859,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-central-2" => %{}, "eu-west-1" => %{}, @@ -1871,6 +1903,7 @@ chime_voice_regions = [ "us-east-1" => %{}, "us-west-1" => %{}, "us-west-2" => %{}, + "ca-central-1" => %{}, "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "eu-west-1" => %{}, @@ -1920,6 +1953,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -1941,6 +1975,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -1984,6 +2019,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -2009,6 +2045,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -2079,6 +2116,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -2107,6 +2145,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "us-east-1" => %{}, @@ -2131,6 +2170,7 @@ chime_voice_regions = [ "ap-southeast-2" => %{}, "ap-northeast-1" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -2150,6 +2190,8 @@ chime_voice_regions = [ "endpoints" => %{ "ap-northeast-2" => %{}, "ap-southeast-2" => %{}, + "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "us-east-1" => %{}, @@ -2166,6 +2208,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -2215,6 +2258,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -2236,6 +2280,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -2273,6 +2318,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -2291,6 +2337,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-central-2" => %{}, "eu-west-1" => %{}, @@ -2327,6 +2374,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -2347,6 +2395,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -2395,6 +2444,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -2414,6 +2464,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, @@ -2477,6 +2528,7 @@ chime_voice_regions = [ "ap-southeast-1" => %{}, "ap-southeast-2" => %{}, "ca-central-1" => %{}, + "ca-west-1" => %{}, "eu-central-1" => %{}, "eu-west-1" => %{}, "eu-west-2" => %{}, From 8fbe33dfc0a1f0b68f95188e89d65cc4e4518284 Mon Sep 17 00:00:00 2001 From: Sebastien Perreault Date: Mon, 22 Apr 2024 10:41:19 -0400 Subject: [PATCH 104/115] Updated Canada regions with city in endpoints.exs --- priv/endpoints.exs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index c7066814..e7ff98fe 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -68,8 +68,8 @@ chime_voice_regions = [ "ap-southeast-1" => %{"description" => "Asia Pacific (Singapore)"}, "ap-southeast-2" => %{"description" => "Asia Pacific (Sydney)"}, "ap-southeast-3" => %{"description" => "Asia Pacific (Jakarta)"}, - "ca-central-1" => %{"description" => "Canada (Central)"}, - "ca-west-1" => %{"description" => "Canada (Central)"}, + "ca-central-1" => %{"description" => "Canada (Montreal)"}, + "ca-west-1" => %{"description" => "Canada (Calgary)"}, "eu-central-1" => %{"description" => "EU (Frankfurt)"}, "eu-west-1" => %{"description" => "EU (Ireland)"}, "eu-west-2" => %{"description" => "EU (London)"}, From 96d22a18e2adbe542fc9b60e6fcaf0c06d235347 Mon Sep 17 00:00:00 2001 From: ruslandoga <67764432+ruslandoga@users.noreply.github.com> Date: Thu, 9 May 2024 11:36:12 +0700 Subject: [PATCH 105/115] allow iodata body in s3 requests --- lib/ex_aws/operation/s3.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ex_aws/operation/s3.ex b/lib/ex_aws/operation/s3.ex index cf2cfba4..9af75145 100644 --- a/lib/ex_aws/operation/s3.ex +++ b/lib/ex_aws/operation/s3.ex @@ -47,7 +47,7 @@ defmodule ExAws.Operation.S3 do defp put_content_length_header(headers, "", :get), do: headers defp put_content_length_header(headers, body, _) do - Map.put(headers, "content-length", byte_size(body) |> Integer.to_string()) + Map.put(headers, "content-length", IO.iodata_length(body) |> Integer.to_string()) end @spec add_bucket_to_path(operation :: ExAws.Operation.S3.t(), config :: map) :: From 78e524a237f8722bb3399f792b29119a30dd64f1 Mon Sep 17 00:00:00 2001 From: ruslandoga <67764432+ruslandoga@users.noreply.github.com> Date: Thu, 9 May 2024 11:49:25 +0700 Subject: [PATCH 106/115] add example docker command to run dynamodb locally --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a1de313c..71489db6 100644 --- a/README.md +++ b/README.md @@ -260,7 +260,13 @@ config :ex_aws, :retries, ## Testing If you want to run `mix test`, you'll need to have a local `dynamodb` running -on port 8000. See [Setting up DynamoDB Local](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.DownloadingAndRunning.html). +on port 8000: + +```console +docker run --name dynamodb -d -p 8000:8000 amazon/dynamodb-local -jar DynamoDBLocal.jar -port 8000 +``` + +For more info please see [Setting up DynamoDB Local](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.DownloadingAndRunning.html). The redirect test will intentionally cause a warning to be issued. From 333b7008fc95711d19c2151a052872a16135334f Mon Sep 17 00:00:00 2001 From: ruslandoga <67764432+ruslandoga@users.noreply.github.com> Date: Thu, 9 May 2024 11:54:26 +0700 Subject: [PATCH 107/115] upgrade elixir and erlang to latest versions, add elixir 1.16 to ci --- .github/workflows/on-push.yml | 3 +++ .tool-versions | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/on-push.yml b/.github/workflows/on-push.yml index 8c6f1a28..232f7259 100644 --- a/.github/workflows/on-push.yml +++ b/.github/workflows/on-push.yml @@ -11,6 +11,9 @@ jobs: strategy: matrix: include: + - pair: + otp: 26.x + elixir: 1.16.x - pair: otp: 26.x elixir: 1.15.x diff --git a/.tool-versions b/.tool-versions index a013f295..510c6f82 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ -elixir 1.15 -erlang 26.1.2 +elixir 1.16.2-otp-26 +erlang 26.2.5 From d1256186a874131cf9065cce0110643a7a76facc Mon Sep 17 00:00:00 2001 From: ruslandoga Date: Thu, 9 May 2024 14:12:47 +0700 Subject: [PATCH 108/115] rm on stop, no name --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 71489db6..f6a8e30a 100644 --- a/README.md +++ b/README.md @@ -263,7 +263,7 @@ If you want to run `mix test`, you'll need to have a local `dynamodb` running on port 8000: ```console -docker run --name dynamodb -d -p 8000:8000 amazon/dynamodb-local -jar DynamoDBLocal.jar -port 8000 +docker run --rm -d -p 8000:8000 amazon/dynamodb-local -jar DynamoDBLocal.jar -port 8000 ``` For more info please see [Setting up DynamoDB Local](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.DownloadingAndRunning.html). From 945f61558086933cf9133fed0466f7bf294fae45 Mon Sep 17 00:00:00 2001 From: Aron Sisask Date: Wed, 15 May 2024 19:56:42 +0300 Subject: [PATCH 109/115] Add support for EventBridge Pipes service Endpoints listed in: https://docs.aws.amazon.com/general/latest/gr/ev_pipes.html --- priv/endpoints.exs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 731f1d12..eab098d1 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -2609,6 +2609,31 @@ chime_voice_regions = [ "us-west-1" => %{}, "us-west-2" => %{} } + }, + "pipes" => %{ + "endpoints" => %{ + "af-south-1" => %{}, + "ap-northeast-1" => %{}, + "ap-northeast-2" => %{}, + "ap-east-1" => %{}, + "ap-south-1" => %{}, + "ap-southeast-1" => %{}, + "ap-southeast-2" => %{}, + "ap-southeast-3" => %{}, + "ca-central-1" => %{}, + "eu-central-1" => %{}, + "eu-west-1" => %{}, + "eu-west-2" => %{}, + "eu-west-3" => %{}, + "eu-north-1" => %{}, + "eu-south-1" => %{}, + "me-south-1" => %{}, + "sa-east-1" => %{}, + "us-east-1" => %{}, + "us-east-2" => %{}, + "us-west-1" => %{}, + "us-west-2" => %{} + } } } }, From bc36568559b03f3d694fce4ce3fe0a0c069dbc18 Mon Sep 17 00:00:00 2001 From: Mark Goody Date: Fri, 31 May 2024 10:46:02 +0100 Subject: [PATCH 110/115] Add more regions for Pinpoint use --- priv/endpoints.exs | 55 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/priv/endpoints.exs b/priv/endpoints.exs index 731f1d12..f408ebeb 100644 --- a/priv/endpoints.exs +++ b/priv/endpoints.exs @@ -249,9 +249,62 @@ chime_voice_regions = [ "us-west-2" => %{} } }, + "mobiletargeting" => %{ + "endpoints" => %{ + "us-east-1" => %{ + "hostname" => "pinpoint.us-east-1.amazonaws.com" + }, + "us-east-2" => %{ + "hostname" => "pinpoint.us-east-2.amazonaws.com" + }, + "us-west-2" => %{ + "hostname" => "pinpoint.us-west-1.amazonaws.com" + }, + "ap-south-1" => %{ + "hostname" => "pinpoint.ap-south-1.amazonaws.com" + }, + "ap-northeast-1" => %{ + "hostname" => "pinpoint.ap-northeast-1.amazonaws.com" + }, + "ap-northeast-2" => %{ + "hostname" => "pinpoint.ap-northeast-2.amazonaws.com" + }, + "ap-southeast-1" => %{ + "hostname" => "pinpoint.ap-southeast-1.amazonaws.com" + }, + "ap-southeast-2" => %{ + "hostname" => "pinpoint.ap-southeast-2.amazonaws.com" + }, + "ca-central-1" => %{ + "hostname" => "pinpoint.ca-central-1.amazonaws.com" + }, + "eu-central-1" => %{ + "hostname" => "pinpoint.eu-central-1.amazonaws.com" + }, + "eu-west-1" => %{ + "hostname" => "pinpoint.eu-west-1.amazonaws.com" + }, + "eu-west-2" => %{ + "hostname" => "pinpoint.eu-west-2.amazonaws.com" + } + } + }, "pinpoint" => %{ "defaults" => %{"credentialScope" => %{"service" => "mobiletargeting"}}, - "endpoints" => %{"us-east-1" => %{}} + "endpoints" => %{ + "us-east-1" => %{}, + "us-east-2" => %{}, + "us-west-2" => %{}, + "ap-south-1" => %{}, + "ap-northeast-1" => %{}, + "ap-northeast-2" => %{}, + "ap-southeast-1" => %{}, + "ap-southeast-2" => %{}, + "ca-central-1" => %{}, + "eu-central-1" => %{}, + "eu-west-1" => %{}, + "eu-west-2" => %{} + } }, "iam" => %{ "endpoints" => %{ From d8d1fe09ca0fd351817c816559590e0283249364 Mon Sep 17 00:00:00 2001 From: Bernard Duggan Date: Tue, 4 Jun 2024 12:06:42 +1000 Subject: [PATCH 111/115] Drop support for Elixir 1.11 --- .github/workflows/on-push.yml | 6 ------ mix.exs | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/on-push.yml b/.github/workflows/on-push.yml index 8c6f1a28..2eec608c 100644 --- a/.github/workflows/on-push.yml +++ b/.github/workflows/on-push.yml @@ -36,9 +36,6 @@ jobs: - pair: otp: 24.x elixir: 1.12.x - - pair: - otp: 24.x - elixir: 1.11.x - pair: otp: 23.x elixir: 1.14.x @@ -48,9 +45,6 @@ jobs: - pair: otp: 23.x elixir: 1.12.x - - pair: - otp: 23.x - elixir: 1.11.x steps: - uses: actions/checkout@v4 diff --git a/mix.exs b/mix.exs index 49259a64..a00303ce 100644 --- a/mix.exs +++ b/mix.exs @@ -8,7 +8,7 @@ defmodule ExAws.Mixfile do [ app: :ex_aws, version: @version, - elixir: "~> 1.11", + elixir: "~> 1.12", elixirc_paths: elixirc_paths(Mix.env()), description: "Generic AWS client", name: "ExAws", From efa170e907ef2df1cd101fce8c4266f099943f17 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Jun 2024 02:11:53 +0000 Subject: [PATCH 112/115] Bump ex_doc from 0.30.9 to 0.34.0 Bumps [ex_doc](https://github.com/elixir-lang/ex_doc) from 0.30.9 to 0.34.0. - [Release notes](https://github.com/elixir-lang/ex_doc/releases) - [Changelog](https://github.com/elixir-lang/ex_doc/blob/main/CHANGELOG.md) - [Commits](https://github.com/elixir-lang/ex_doc/compare/v0.30.9...v0.34.0) --- updated-dependencies: - dependency-name: ex_doc dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- mix.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mix.lock b/mix.lock index 8e9199ce..1538279a 100644 --- a/mix.lock +++ b/mix.lock @@ -7,9 +7,9 @@ "cowboy_telemetry": {:hex, :cowboy_telemetry, "0.4.0", "f239f68b588efa7707abce16a84d0d2acf3a0f50571f8bb7f56a15865aae820c", [:rebar3], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de"}, "cowlib": {:hex, :cowlib, "2.12.1", "a9fa9a625f1d2025fe6b462cb865881329b5caff8f1854d1cbc9f9533f00e1e1", [:make, :rebar3], [], "hexpm", "163b73f6367a7341b33c794c4e88e7dbfe6498ac42dcd69ef44c5bc5507c8db0"}, "dialyxir": {:hex, :dialyxir, "1.4.3", "edd0124f358f0b9e95bfe53a9fcf806d615d8f838e2202a9f430d59566b6b53b", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "bf2cfb75cd5c5006bec30141b131663299c661a864ec7fbbc72dfa557487a986"}, - "earmark_parser": {:hex, :earmark_parser, "1.4.37", "2ad73550e27c8946648b06905a57e4d454e4d7229c2dafa72a0348c99d8be5f7", [:mix], [], "hexpm", "6b19783f2802f039806f375610faa22da130b8edc21209d0bff47918bb48360e"}, + "earmark_parser": {:hex, :earmark_parser, "1.4.39", "424642f8335b05bb9eb611aa1564c148a8ee35c9c8a8bba6e129d51a3e3c6769", [:mix], [], "hexpm", "06553a88d1f1846da9ef066b87b57c6f605552cfbe40d20bd8d59cc6bde41944"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, - "ex_doc": {:hex, :ex_doc, "0.30.9", "d691453495c47434c0f2052b08dd91cc32bc4e1a218f86884563448ee2502dd2", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "d7aaaf21e95dc5cddabf89063327e96867d00013963eadf2c6ad135506a8bc10"}, + "ex_doc": {:hex, :ex_doc, "0.34.0", "ab95e0775db3df71d30cf8d78728dd9261c355c81382bcd4cefdc74610bef13e", [:mix], [{:earmark_parser, "~> 1.4.39", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_c, ">= 0.1.0", [hex: :makeup_c, repo: "hexpm", optional: true]}, {:makeup_elixir, "~> 0.14 or ~> 1.0", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1 or ~> 1.0", [hex: :makeup_erlang, repo: "hexpm", optional: false]}, {:makeup_html, ">= 0.1.0", [hex: :makeup_html, repo: "hexpm", optional: true]}], "hexpm", "60734fb4c1353f270c3286df4a0d51e65a2c1d9fba66af3940847cc65a8066d7"}, "excoveralls": {:hex, :excoveralls, "0.18.1", "a6f547570c6b24ec13f122a5634833a063aec49218f6fff27de9df693a15588c", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "d65f79db146bb20399f23046015974de0079668b9abb2f5aac074d078da60b8d"}, "finch": {:hex, :finch, "0.16.0", "40733f02c89f94a112518071c0a91fe86069560f5dbdb39f9150042f44dcfb1a", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.3", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 0.2.6 or ~> 1.0", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f660174c4d519e5fec629016054d60edd822cdfe2b7270836739ac2f97735ec5"}, "hackney": {:hex, :hackney, "1.20.1", "8d97aec62ddddd757d128bfd1df6c5861093419f8f7a4223823537bad5d064e2", [:rebar3], [{:certifi, "~>2.12.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.4.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "fe9094e5f1a2a2c0a7d10918fee36bfec0ec2a979994cff8cfe8058cd9af38e3"}, @@ -17,16 +17,16 @@ "idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"}, "jason": {:hex, :jason, "1.4.1", "af1504e35f629ddcdd6addb3513c3853991f694921b1b9368b0bd32beb9f1b63", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "fbb01ecdfd565b56261302f7e1fcc27c4fb8f32d56eab74db621fc154604a7a1"}, "jsx": {:hex, :jsx, "3.1.0", "d12516baa0bb23a59bb35dccaf02a1bd08243fcbb9efe24f2d9d056ccff71268", [:rebar3], [], "hexpm", "0c5cc8fdc11b53cc25cf65ac6705ad39e54ecc56d1c22e4adb8f5a53fb9427f3"}, - "makeup": {:hex, :makeup, "1.1.0", "6b67c8bc2882a6b6a445859952a602afc1a41c2e08379ca057c0f525366fc3ca", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "0a45ed501f4a8897f580eabf99a2e5234ea3e75a4373c8a52824f6e873be57a6"}, - "makeup_elixir": {:hex, :makeup_elixir, "0.16.1", "cc9e3ca312f1cfeccc572b37a09980287e243648108384b97ff2b76e505c3555", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "e127a341ad1b209bd80f7bd1620a15693a9908ed780c3b763bccf7d200c767c6"}, - "makeup_erlang": {:hex, :makeup_erlang, "0.1.2", "ad87296a092a46e03b7e9b0be7631ddcf64c790fa68a9ef5323b6cbb36affc72", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "f3f5a1ca93ce6e092d92b6d9c049bcda58a3b617a8d888f8e7231c85630e8108"}, + "makeup": {:hex, :makeup, "1.1.2", "9ba8837913bdf757787e71c1581c21f9d2455f4dd04cfca785c70bbfff1a76a3", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "cce1566b81fbcbd21eca8ffe808f33b221f9eee2cbc7a1706fc3da9ff18e6cac"}, + "makeup_elixir": {:hex, :makeup_elixir, "0.16.2", "627e84b8e8bf22e60a2579dad15067c755531fea049ae26ef1020cad58fe9578", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "41193978704763f6bbe6cc2758b84909e62984c7752b3784bd3c218bb341706b"}, + "makeup_erlang": {:hex, :makeup_erlang, "1.0.0", "6f0eff9c9c489f26b69b61440bf1b238d95badae49adac77973cbacae87e3c2e", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "ea7a9307de9d1548d2a72d299058d1fd2339e3d398560a0e46c27dab4891e4d2"}, "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"}, "mime": {:hex, :mime, "2.0.5", "dc34c8efd439abe6ae0343edbb8556f4d63f178594894720607772a041b04b02", [:mix], [], "hexpm", "da0d64a365c45bc9935cc5c8a7fc5e49a0e0f9932a761c55d6c52b142780a05c"}, "mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"}, "mint": {:hex, :mint, "1.5.1", "8db5239e56738552d85af398798c80648db0e90f343c8469f6c6d8898944fb6f", [:mix], [{:castore, "~> 0.1.0 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:hpax, "~> 0.1.1", [hex: :hpax, repo: "hexpm", optional: false]}], "hexpm", "4a63e1e76a7c3956abd2c72f370a0d0aecddc3976dea5c27eccbecfa5e7d5b1e"}, "mox": {:hex, :mox, "1.1.0", "0f5e399649ce9ab7602f72e718305c0f9cdc351190f72844599545e4996af73c", [:mix], [], "hexpm", "d44474c50be02d5b72131070281a5d3895c0e7a95c780e90bc0cfe712f633a13"}, "nimble_options": {:hex, :nimble_options, "1.0.2", "92098a74df0072ff37d0c12ace58574d26880e522c22801437151a159392270e", [:mix], [], "hexpm", "fd12a8db2021036ce12a309f26f564ec367373265b53e25403f0ee697380f1b8"}, - "nimble_parsec": {:hex, :nimble_parsec, "1.3.1", "2c54013ecf170e249e9291ed0a62e5832f70a476c61da16f6aac6dca0189f2af", [:mix], [], "hexpm", "2682e3c0b2eb58d90c6375fc0cc30bc7be06f365bf72608804fb9cffa5e1b167"}, + "nimble_parsec": {:hex, :nimble_parsec, "1.4.0", "51f9b613ea62cfa97b25ccc2c1b4216e81df970acd8e16e8d1bdc58fef21370d", [:mix], [], "hexpm", "9c565862810fb383e9838c1dd2d7d2c437b3d13b267414ba6af33e50d2d1cf28"}, "nimble_pool": {:hex, :nimble_pool, "1.0.0", "5eb82705d138f4dd4423f69ceb19ac667b3b492ae570c9f5c900bb3d2f50a847", [:mix], [], "hexpm", "80be3b882d2d351882256087078e1b1952a28bf98d0a287be87e4a24a710b67a"}, "parse_trans": {:hex, :parse_trans, "3.4.1", "6e6aa8167cb44cc8f39441d05193be6e6f4e7c2946cb2759f015f8c56b76e5ff", [:rebar3], [], "hexpm", "620a406ce75dada827b82e453c19cf06776be266f5a67cff34e1ef2cbb60e49a"}, "plug": {:hex, :plug, "1.15.1", "b7efd81c1a1286f13efb3f769de343236bd8b7d23b4a9f40d3002fc39ad8f74c", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "459497bd94d041d98d948054ec6c0b76feacd28eec38b219ca04c0de13c79d30"}, From 27948a9df537efeff654ff273653d1f92d0761f6 Mon Sep 17 00:00:00 2001 From: Bernard Duggan Date: Tue, 4 Jun 2024 12:31:42 +1000 Subject: [PATCH 113/115] Move lint check to latest version --- .github/workflows/on-push.yml | 2 +- .tool-versions | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/on-push.yml b/.github/workflows/on-push.yml index 232f7259..6d38af5e 100644 --- a/.github/workflows/on-push.yml +++ b/.github/workflows/on-push.yml @@ -14,10 +14,10 @@ jobs: - pair: otp: 26.x elixir: 1.16.x + lint: lint - pair: otp: 26.x elixir: 1.15.x - lint: lint - pair: otp: 25.x elixir: 1.15.x diff --git a/.tool-versions b/.tool-versions index 510c6f82..de9b652f 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ -elixir 1.16.2-otp-26 +elixir 1.16.3-otp-26 erlang 26.2.5 From 7e9f8c1c34deba09d0e286ef8071319187e8bf03 Mon Sep 17 00:00:00 2001 From: Bernard Duggan Date: Tue, 4 Jun 2024 12:39:30 +1000 Subject: [PATCH 114/115] Bump verison and update changelog (v2.5.3) --- CHANGELOG.md | 10 ++++++++++ mix.exs | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2bc68294..39c6ffd7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +v2.5.3 (2024-06-04) +- Endpoint and region updates +- Add support for Elixir 1.16 +- Drop support for Elixir 1.11 +- Add support for `sso_session` in `.aws/config` +- Add support for EventBridge Pipes service +- Add support for Pinpoint Mobiletargeting service +- Add docs for running DynamoDB locally +- Allow iodata body in s3 requests + v2.5.2 (2024-03-19) - Endpoint updates diff --git a/mix.exs b/mix.exs index a00303ce..0f269fa1 100644 --- a/mix.exs +++ b/mix.exs @@ -2,7 +2,7 @@ defmodule ExAws.Mixfile do use Mix.Project @source_url "https://github.com/ex-aws/ex_aws" - @version "2.5.2" + @version "2.5.3" def project do [ @@ -59,6 +59,7 @@ defmodule ExAws.Mixfile do [ description: description(), files: ["priv", "lib", "config", "mix.exs", "CHANGELOG.md", "README*", "LICENSE"], + exclude_patterns: ["_build", "deps", "test", "*~"], maintainers: ["Bernard Duggan", "Ben Wilson"], licenses: ["MIT"], links: %{ From 8020fa1c0a7221c3931a91ec8089e52c868667c0 Mon Sep 17 00:00:00 2001 From: Bernard Duggan Date: Tue, 4 Jun 2024 12:46:28 +1000 Subject: [PATCH 115/115] Whoops, should have been 2.5.4 --- CHANGELOG.md | 5 ++++- mix.exs | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 39c6ffd7..e6a8b81a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -v2.5.3 (2024-06-04) +v2.5.4 (2024-06-04) - Endpoint and region updates - Add support for Elixir 1.16 - Drop support for Elixir 1.11 @@ -8,6 +8,9 @@ v2.5.3 (2024-06-04) - Add docs for running DynamoDB locally - Allow iodata body in s3 requests +v2.5.3 (2024-03-20) +- Add mappings for Chime + v2.5.2 (2024-03-19) - Endpoint updates diff --git a/mix.exs b/mix.exs index 0f269fa1..5f96ac63 100644 --- a/mix.exs +++ b/mix.exs @@ -2,7 +2,7 @@ defmodule ExAws.Mixfile do use Mix.Project @source_url "https://github.com/ex-aws/ex_aws" - @version "2.5.3" + @version "2.5.4" def project do [