From e113ad472a38f9f408f6c1116f47bc7bfabbf2d1 Mon Sep 17 00:00:00 2001 From: Zoltan Iklodi Date: Mon, 30 Apr 2018 15:19:50 +0200 Subject: [PATCH 1/5] Generated project and implementation of start, stop, and describe --- .gitignore | 20 +++++++++++++++ CHANGELOG.md | 5 ++++ LICENSE.md | 13 ++++++++++ README.md | 22 +++++++++++++++- config/config.exs | 30 ++++++++++++++++++++++ lib/ex_aws/dms.ex | 60 ++++++++++++++++++++++++++++++++++++++++++++ mix.exs | 29 +++++++++++++++++++++ mix.lock | 13 ++++++++++ test/dms_test.exs | 24 ++++++++++++++++++ test/test_helper.exs | 1 + 10 files changed, 216 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 CHANGELOG.md create mode 100644 LICENSE.md create mode 100644 config/config.exs create mode 100644 lib/ex_aws/dms.ex create mode 100644 mix.exs create mode 100644 mix.lock create mode 100644 test/dms_test.exs create mode 100644 test/test_helper.exs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7ef6a48 --- /dev/null +++ b/.gitignore @@ -0,0 +1,20 @@ +x will write compiled artifacts to. +/_build/ + +# If you run "mix test --cover", coverage assets end up here. +/cover/ + +# The directory Mix downloads your dependencies sources to. +/deps/ + +# Where 3rd-party dependencies like ExDoc output generated docs. +/doc/ + +# Ignore .fetch files in case you like to edit your project deps locally. +/.fetch + +# If the VM crashes, it generates a dump, let's ignore it too. +erl_crash.dump + +# Also ignore archive artifacts (built via "mix archive.build"). +*.ez diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..cdcb02a --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,5 @@ +# Changelog + +## v0.1.0 (2018-04-30) + +Initial release diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..2e87ed0 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,13 @@ +# Apache 2 License + +Copyright (c) 2018 100Starlings + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0) + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/README.md b/README.md index e898c33..df5a5ba 100644 --- a/README.md +++ b/README.md @@ -1 +1,21 @@ -# ex_aws_dms \ No newline at end of file +# ExAws.DMS + +Partial implementation of AWS Database Migration Service API client for Elixir https://docs.aws.amazon.com/dms/latest/APIReference/Welcome.html + +Unofficial service module for https://github.com/ex-aws/ex_aws + +## Installation + +The package can be installed by adding `ex_aws_dms` to your list of dependencies in `mix.exs` +along with `:ex_aws` and your preferred JSON codec / http client + +```elixir +def deps do + [ + {:ex_aws, "~> 2.0"}, + {:ex_aws_dms, git: "https://github.com/100Starlings/ex_aws_dms", "~> 0.1"}, + {:poison, "~> 3.1"}, + {:hackney, "~> 1.9"}, + ] +end +``` diff --git a/config/config.exs b/config/config.exs new file mode 100644 index 0000000..db00730 --- /dev/null +++ b/config/config.exs @@ -0,0 +1,30 @@ +# This file is responsible for configuring your application +# and its dependencies with the aid of the Mix.Config module. +use Mix.Config + +# This configuration is loaded before any dependency and is restricted +# to this project. If another project depends on this project, this +# file won't be loaded nor affect the parent project. For this reason, +# if you want to provide default values for your application for +# 3rd-party users, it should be done in your "mix.exs" file. + +# You can configure your application as: +# +# config :ex_aws_kinesis, key: :value +# +# and access this configuration in your application as: +# +# Application.get_env(:ex_aws_kinesis, :key) +# +# You can also configure a 3rd-party app: +# +# config :logger, level: :info +# + +# It is also possible to import configuration files, relative to this +# directory. For example, you can emulate configuration per environment +# by uncommenting the line below and defining dev.exs, test.exs and such. +# Configuration from the imported file will override the ones defined +# here (which is why it is important to import them last). +# +# import_config "#{Mix.env}.exs" diff --git a/lib/ex_aws/dms.ex b/lib/ex_aws/dms.ex new file mode 100644 index 0000000..cda6859 --- /dev/null +++ b/lib/ex_aws/dms.ex @@ -0,0 +1,60 @@ +defmodule ExAws.DMS do + @moduledoc """ + AWS Database Migration Service API client for Elixir + + https://docs.aws.amazon.com/dms/latest/APIReference/Welcome.html + """ + + @namespace "AmazonDMSv20160101" + + @doc "Starts the replication task" + @type task_type :: :start_replication | :resume_processing | :reload_target + @spec start_replication_task( + replication_task_arn :: binary, + start_replication_task_type :: task_type + ) :: ExAws.Operation.JSON.t() + def start_replication_task(replication_task_arn, start_replication_task_type) do + data = %{ + "ReplicationTaskArn" => replication_task_arn, + "StartReplicationTaskType" => + start_replication_task_type |> Atom.to_string() |> String.replace("_", "-") + } + + request(:start_replication_task, data) + end + + @doc "Stops the replication task" + @spec stop_replication_task(replication_task_arn :: binary) :: ExAws.Operation.JSON.t() + def stop_replication_task(replication_task_arn) do + data = %{ + "ReplicationTaskArn" => replication_task_arn + } + + request(:stop_replication_task, data) + end + + @doc "Returns information about replication tasks in the current region" + @spec describe_replication_tasks() :: ExAws.Operation.JSON.t() + def describe_replication_tasks() do + request(:describe_replication_tasks, %{}) + end + + defp request(action, data, opts \\ %{}) do + operation = + action + |> Atom.to_string() + |> Macro.camelize() + + ExAws.Operation.JSON.new( + :dms, + %{ + data: data, + headers: [ + {"x-amz-target", "#{@namespace}.#{operation}"}, + {"content-type", "application/x-amz-json-1.1"} + ] + } + |> Map.merge(opts) + ) + end +end diff --git a/mix.exs b/mix.exs new file mode 100644 index 0000000..5588f27 --- /dev/null +++ b/mix.exs @@ -0,0 +1,29 @@ +defmodule ExAws.DMS.Mixfile do + use Mix.Project + + @version "0.1.0" + + def project do + [ + app: :ex_aws_dms, + version: @version, + elixir: "~> 1.6", + deps: deps(), + start_permanent: Mix.env() == :prod + ] + end + + def application do + [extra_applications: [:logger]] + end + + # Run "mix help deps" to learn about dependencies. + defp deps do + [ + {:hackney, ">= 0.0.0", only: [:dev, :test]}, + {:sweet_xml, ">= 0.0.0", only: [:dev, :test]}, + {:poison, ">= 0.0.0", only: [:dev, :test]}, + {:ex_aws, "~> 2.0.0"} + ] + end +end diff --git a/mix.lock b/mix.lock new file mode 100644 index 0000000..e04b6c7 --- /dev/null +++ b/mix.lock @@ -0,0 +1,13 @@ +%{ + "certifi": {:hex, :certifi, "2.3.1", "d0f424232390bf47d82da8478022301c561cf6445b5b5fb6a84d49a9e76d2639", [:rebar3], [{:parse_trans, "3.2.0", [hex: :parse_trans, repo: "hexpm", optional: false]}], "hexpm"}, + "ex_aws": {:hex, :ex_aws, "2.0.2", "8df2f96f58624a399abe5a0ce26db648ee848aca6393b9c65c939ece9ac07bfa", [:mix], [{:configparser_ex, "~> 2.0", [hex: :configparser_ex, repo: "hexpm", optional: true]}, {:hackney, "1.6.3 or 1.6.5 or 1.7.1 or 1.8.6 or ~> 1.9", [hex: :hackney, repo: "hexpm", optional: true]}, {:jsx, "~> 2.8", [hex: :jsx, repo: "hexpm", optional: true]}, {:poison, ">= 1.2.0", [hex: :poison, repo: "hexpm", optional: true]}, {:sweet_xml, "~> 0.6", [hex: :sweet_xml, repo: "hexpm", optional: true]}, {:xml_builder, "~> 0.1.0", [hex: :xml_builder, repo: "hexpm", optional: true]}], "hexpm"}, + "hackney": {:hex, :hackney, "1.12.1", "8bf2d0e11e722e533903fe126e14d6e7e94d9b7983ced595b75f532e04b7fdc7", [:rebar3], [{:certifi, "2.3.1", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "5.1.1", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "1.0.1", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "1.0.2", [hex: :mimerl, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "1.1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm"}, + "idna": {:hex, :idna, "5.1.1", "cbc3b2fa1645113267cc59c760bafa64b2ea0334635ef06dbac8801e42f7279c", [:rebar3], [{:unicode_util_compat, "0.3.1", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm"}, + "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm"}, + "mimerl": {:hex, :mimerl, "1.0.2", "993f9b0e084083405ed8252b99460c4f0563e41729ab42d9074fd5e52439be88", [:rebar3], [], "hexpm"}, + "parse_trans": {:hex, :parse_trans, "3.2.0", "2adfa4daf80c14dc36f522cf190eb5c4ee3e28008fc6394397c16f62a26258c2", [:rebar3], [], "hexpm"}, + "poison": {:hex, :poison, "3.1.0", "d9eb636610e096f86f25d9a46f35a9facac35609a7591b3be3326e99a0484665", [:mix], [], "hexpm"}, + "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.1", "28a4d65b7f59893bc2c7de786dec1e1555bd742d336043fe644ae956c3497fbe", [:make, :rebar], [], "hexpm"}, + "sweet_xml": {:hex, :sweet_xml, "0.6.5", "dd9cde443212b505d1b5f9758feb2000e66a14d3c449f04c572f3048c66e6697", [:mix], [], "hexpm"}, + "unicode_util_compat": {:hex, :unicode_util_compat, "0.3.1", "a1f612a7b512638634a603c8f401892afbf99b8ce93a45041f8aaca99cadb85e", [:rebar3], [], "hexpm"}, +} diff --git a/test/dms_test.exs b/test/dms_test.exs new file mode 100644 index 0000000..3274e38 --- /dev/null +++ b/test/dms_test.exs @@ -0,0 +1,24 @@ +defmodule ExAws.DMSTest do + use ExUnit.Case, async: true + alias ExAws.DMS + + ## NOTE: + # These tests are not intended to be operational examples, but intead mere + # ensure that the form of the data to be sent to AWS is correct. + # + + test "#start_replication_task" do + assert DMS.start_replication_task("arn", :resume_processing).data == + %{ + "ReplicationTaskArn" => "arn", + "StartReplicationTaskType" => "resume-processing" + } + end + + test "#stop_replication_task" do + assert DMS.stop_replication_task("arn").data == + %{ + "ReplicationTaskArn" => "arn" + } + end +end diff --git a/test/test_helper.exs b/test/test_helper.exs new file mode 100644 index 0000000..869559e --- /dev/null +++ b/test/test_helper.exs @@ -0,0 +1 @@ +ExUnit.start() From 37537da79eaf1f1d98b48b6e4f6214d834020fc1 Mon Sep 17 00:00:00 2001 From: Laszlo Bacsi Date: Tue, 1 May 2018 14:59:16 +0200 Subject: [PATCH 2/5] Refactor ExAws.DMS and tests --- .gitignore | 2 +- lib/ex_aws/dms.ex | 46 +++++++++++++++++++------------------------ test/dms_test.exs | 24 ---------------------- test/lib/dms_test.exs | 43 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 64 insertions(+), 51 deletions(-) delete mode 100644 test/dms_test.exs create mode 100644 test/lib/dms_test.exs diff --git a/.gitignore b/.gitignore index 7ef6a48..12179ea 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -x will write compiled artifacts to. +# The directory Mix will write compiled artifacts to. /_build/ # If you run "mix test --cover", coverage assets end up here. diff --git a/lib/ex_aws/dms.ex b/lib/ex_aws/dms.ex index cda6859..0997015 100644 --- a/lib/ex_aws/dms.ex +++ b/lib/ex_aws/dms.ex @@ -1,17 +1,17 @@ defmodule ExAws.DMS do @moduledoc """ - AWS Database Migration Service API client for Elixir - - https://docs.aws.amazon.com/dms/latest/APIReference/Welcome.html + Operations on [AWS DMS](https://docs.aws.amazon.com/dms/latest/APIReference/API_Operations.html) """ + @type replication_task_arn :: binary + @namespace "AmazonDMSv20160101" - @doc "Starts the replication task" - @type task_type :: :start_replication | :resume_processing | :reload_target + @doc "Starts a replication task" + @type start_replication_task_type :: :start_replication | :resume_processing | :reload_target @spec start_replication_task( - replication_task_arn :: binary, - start_replication_task_type :: task_type + replication_task_arn :: replication_task_arn, + start_replication_task_type :: start_replication_task_type ) :: ExAws.Operation.JSON.t() def start_replication_task(replication_task_arn, start_replication_task_type) do data = %{ @@ -23,38 +23,32 @@ defmodule ExAws.DMS do request(:start_replication_task, data) end - @doc "Stops the replication task" - @spec stop_replication_task(replication_task_arn :: binary) :: ExAws.Operation.JSON.t() + @doc "Stops a replication task" + @spec stop_replication_task(replication_task_arn :: replication_task_arn) :: + ExAws.Operation.JSON.t() def stop_replication_task(replication_task_arn) do - data = %{ - "ReplicationTaskArn" => replication_task_arn - } - + data = %{"ReplicationTaskArn" => replication_task_arn} request(:stop_replication_task, data) end @doc "Returns information about replication tasks in the current region" @spec describe_replication_tasks() :: ExAws.Operation.JSON.t() def describe_replication_tasks() do - request(:describe_replication_tasks, %{}) + request(:describe_replication_tasks) end - defp request(action, data, opts \\ %{}) do + defp request(action, data \\ %{}) do operation = action |> Atom.to_string() |> Macro.camelize() - ExAws.Operation.JSON.new( - :dms, - %{ - data: data, - headers: [ - {"x-amz-target", "#{@namespace}.#{operation}"}, - {"content-type", "application/x-amz-json-1.1"} - ] - } - |> Map.merge(opts) - ) + ExAws.Operation.JSON.new(:dms, %{ + data: data, + headers: [ + {"x-amz-target", "#{@namespace}.#{operation}"}, + {"content-type", "application/x-amz-json-1.1"} + ] + }) end end diff --git a/test/dms_test.exs b/test/dms_test.exs deleted file mode 100644 index 3274e38..0000000 --- a/test/dms_test.exs +++ /dev/null @@ -1,24 +0,0 @@ -defmodule ExAws.DMSTest do - use ExUnit.Case, async: true - alias ExAws.DMS - - ## NOTE: - # These tests are not intended to be operational examples, but intead mere - # ensure that the form of the data to be sent to AWS is correct. - # - - test "#start_replication_task" do - assert DMS.start_replication_task("arn", :resume_processing).data == - %{ - "ReplicationTaskArn" => "arn", - "StartReplicationTaskType" => "resume-processing" - } - end - - test "#stop_replication_task" do - assert DMS.stop_replication_task("arn").data == - %{ - "ReplicationTaskArn" => "arn" - } - end -end diff --git a/test/lib/dms_test.exs b/test/lib/dms_test.exs new file mode 100644 index 0000000..7a6b998 --- /dev/null +++ b/test/lib/dms_test.exs @@ -0,0 +1,43 @@ +defmodule ExAws.DMSTest do + use ExUnit.Case, async: true + alias ExAws.DMS + + test "#describe_replication_tasks" do + assert %ExAws.Operation.JSON{service: :dms} = request = DMS.describe_replication_tasks() + + assert request.data == %{} + + assert request.headers == [ + {"x-amz-target", "AmazonDMSv20160101.DescribeReplicationTasks"}, + {"content-type", "application/x-amz-json-1.1"} + ] + end + + test "#start_replication_task" do + assert %ExAws.Operation.JSON{service: :dms} = + request = DMS.start_replication_task("arn", :resume_processing) + + assert request.data == %{ + "ReplicationTaskArn" => "arn", + "StartReplicationTaskType" => "resume-processing" + } + + assert request.headers == [ + {"x-amz-target", "AmazonDMSv20160101.StartReplicationTask"}, + {"content-type", "application/x-amz-json-1.1"} + ] + end + + test "#stop_replication_task" do + assert %ExAws.Operation.JSON{service: :dms} = request = DMS.stop_replication_task("arn") + + assert request.data == %{ + "ReplicationTaskArn" => "arn" + } + + assert request.headers == [ + {"x-amz-target", "AmazonDMSv20160101.StopReplicationTask"}, + {"content-type", "application/x-amz-json-1.1"} + ] + end +end From 0742d8ca5b74fe0e5c857cbec8fcf6da6d3b60a8 Mon Sep 17 00:00:00 2001 From: Laszlo Bacsi Date: Tue, 1 May 2018 16:15:45 +0200 Subject: [PATCH 3/5] Bring docs and structure in line with other ExAws service packages --- CHANGELOG.md | 6 +++++- CONTRIBUTING.md | 4 ++++ ISSUE_TEMPLATE.md | 14 ++++++++++++++ README.md | 32 +++++++++++++++++++++++++++++--- mix.exs | 40 +++++++++++++++++++++++++++++++++++----- mix.lock | 2 ++ 6 files changed, 89 insertions(+), 9 deletions(-) create mode 100644 CONTRIBUTING.md create mode 100644 ISSUE_TEMPLATE.md diff --git a/CHANGELOG.md b/CHANGELOG.md index cdcb02a..9cfcd16 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog -## v0.1.0 (2018-04-30) +## v0.1.0 (2018-05-01) Initial release + +- describe replication tasks +- stop replication task +- start replication task diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..cbada5b --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,4 @@ +Contributing +============ + +Contributions to ExAws are always welcome! For contributions to this particular service, feel free to just open a PR or an issue. For larger scale contributions see: https://github.com/ex-aws/ex_aws/blob/master/CONTRIBUTING.md diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..7ff00ed --- /dev/null +++ b/ISSUE_TEMPLATE.md @@ -0,0 +1,14 @@ +* Do not use the issues tracker for help or support (try Elixir Forum, Slack, IRC, etc.) +* Questions about how to contribute are fine. + +### Environment + +* Elixir & Erlang versions (elixir --version): +* ExAws version `mix deps | grep ex_aws` +* HTTP client version. IE for hackney do `mix deps | grep hackney` + +### Current behavior + +Include code samples, errors and stacktraces if appropriate. + +### Expected behavior diff --git a/README.md b/README.md index df5a5ba..f3d854c 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # ExAws.DMS -Partial implementation of AWS Database Migration Service API client for Elixir https://docs.aws.amazon.com/dms/latest/APIReference/Welcome.html +Partial client implementation of the AWS [Database Migration Service API](https://docs.aws.amazon.com/dms/latest/APIReference/Welcome.html). -Unofficial service module for https://github.com/ex-aws/ex_aws +Service module for https://github.com/ex-aws/ex_aws ## Installation @@ -13,9 +13,35 @@ along with `:ex_aws` and your preferred JSON codec / http client def deps do [ {:ex_aws, "~> 2.0"}, - {:ex_aws_dms, git: "https://github.com/100Starlings/ex_aws_dms", "~> 0.1"}, + {:ex_aws_dms, "~> 0.1"}, {:poison, "~> 3.1"}, {:hackney, "~> 1.9"}, ] end ``` + +Documentation can be found at [https://hexdocs.pm/ex_aws_dms](https://hexdocs.pm/ex_aws_dms). + +## License + +The MIT License (MIT) + +Copyright (c) 2018 100Starlings Ltd. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/mix.exs b/mix.exs index 5588f27..c5a898f 100644 --- a/mix.exs +++ b/mix.exs @@ -2,28 +2,58 @@ defmodule ExAws.DMS.Mixfile do use Mix.Project @version "0.1.0" + @service "dms" + @url "https://github.com/100Starlings/ex_aws_#{@service}" + @name __MODULE__ |> Module.split() |> Enum.take(2) |> Enum.join(".") def project do [ app: :ex_aws_dms, version: @version, - elixir: "~> 1.6", + elixir: "~> 1.5", + elixirc_paths: elixirc_paths(Mix.env()), + start_permanent: Mix.env() == :prod, deps: deps(), - start_permanent: Mix.env() == :prod + name: @name, + package: package(), + docs: [ + main: @name, + source_ref: "v#{@version}", + source_url: @url + ] ] end + defp package do + [ + description: "#{@name} service package", + files: ["lib", "config", "mix.exs", "README*"], + maintainers: ["Zoltan Iklodi", "Laszlo Bacsi"], + licenses: ["MIT"], + links: %{github: @url} + ] + end + + defp elixirc_paths(:test), do: ["lib", "test/support"] + defp elixirc_paths(_), do: ["lib"] + def application do [extra_applications: [:logger]] end - # Run "mix help deps" to learn about dependencies. defp deps do [ + {:ex_doc, ">= 0.0.0", only: :dev}, {:hackney, ">= 0.0.0", only: [:dev, :test]}, - {:sweet_xml, ">= 0.0.0", only: [:dev, :test]}, {:poison, ">= 0.0.0", only: [:dev, :test]}, - {:ex_aws, "~> 2.0.0"} + ex_aws() ] end + + defp ex_aws do + case System.get_env("AWS") do + "LOCAL" -> {:ex_aws, path: "../ex_aws"} + _ -> {:ex_aws, "~> 2.0.0"} + end + end end diff --git a/mix.lock b/mix.lock index e04b6c7..8a507c4 100644 --- a/mix.lock +++ b/mix.lock @@ -1,6 +1,8 @@ %{ "certifi": {:hex, :certifi, "2.3.1", "d0f424232390bf47d82da8478022301c561cf6445b5b5fb6a84d49a9e76d2639", [:rebar3], [{:parse_trans, "3.2.0", [hex: :parse_trans, repo: "hexpm", optional: false]}], "hexpm"}, + "earmark": {:hex, :earmark, "1.2.5", "4d21980d5d2862a2e13ec3c49ad9ad783ffc7ca5769cf6ff891a4553fbaae761", [:mix], [], "hexpm"}, "ex_aws": {:hex, :ex_aws, "2.0.2", "8df2f96f58624a399abe5a0ce26db648ee848aca6393b9c65c939ece9ac07bfa", [:mix], [{:configparser_ex, "~> 2.0", [hex: :configparser_ex, repo: "hexpm", optional: true]}, {:hackney, "1.6.3 or 1.6.5 or 1.7.1 or 1.8.6 or ~> 1.9", [hex: :hackney, repo: "hexpm", optional: true]}, {:jsx, "~> 2.8", [hex: :jsx, repo: "hexpm", optional: true]}, {:poison, ">= 1.2.0", [hex: :poison, repo: "hexpm", optional: true]}, {:sweet_xml, "~> 0.6", [hex: :sweet_xml, repo: "hexpm", optional: true]}, {:xml_builder, "~> 0.1.0", [hex: :xml_builder, repo: "hexpm", optional: true]}], "hexpm"}, + "ex_doc": {:hex, :ex_doc, "0.18.3", "f4b0e4a2ec6f333dccf761838a4b253d75e11f714b85ae271c9ae361367897b7", [:mix], [{:earmark, "~> 1.1", [hex: :earmark, repo: "hexpm", optional: false]}], "hexpm"}, "hackney": {:hex, :hackney, "1.12.1", "8bf2d0e11e722e533903fe126e14d6e7e94d9b7983ced595b75f532e04b7fdc7", [:rebar3], [{:certifi, "2.3.1", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "5.1.1", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "1.0.1", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "1.0.2", [hex: :mimerl, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "1.1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm"}, "idna": {:hex, :idna, "5.1.1", "cbc3b2fa1645113267cc59c760bafa64b2ea0334635ef06dbac8801e42f7279c", [:rebar3], [{:unicode_util_compat, "0.3.1", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm"}, "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm"}, From d01afbe33dfc0fcba7fb4222fa51068a36016588 Mon Sep 17 00:00:00 2001 From: Laszlo Bacsi Date: Fri, 22 Jun 2018 10:42:01 +0200 Subject: [PATCH 4/5] Change project url --- mix.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.exs b/mix.exs index c5a898f..ad0847b 100644 --- a/mix.exs +++ b/mix.exs @@ -3,7 +3,7 @@ defmodule ExAws.DMS.Mixfile do @version "0.1.0" @service "dms" - @url "https://github.com/100Starlings/ex_aws_#{@service}" + @url "https://github.com/ex-aws/ex_aws_#{@service}" @name __MODULE__ |> Module.split() |> Enum.take(2) |> Enum.join(".") def project do From 49fbc94ccdd896958c663a1ba7829fca7334220e Mon Sep 17 00:00:00 2001 From: Laszlo Bacsi Date: Mon, 4 Feb 2019 17:03:37 +0100 Subject: [PATCH 5/5] New version with looser dependency requirements --- mix.exs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mix.exs b/mix.exs index ad0847b..8795db0 100644 --- a/mix.exs +++ b/mix.exs @@ -1,7 +1,7 @@ defmodule ExAws.DMS.Mixfile do use Mix.Project - @version "0.1.0" + @version "0.1.1" @service "dms" @url "https://github.com/ex-aws/ex_aws_#{@service}" @name __MODULE__ |> Module.split() |> Enum.take(2) |> Enum.join(".") @@ -53,7 +53,7 @@ defmodule ExAws.DMS.Mixfile do defp ex_aws do case System.get_env("AWS") do "LOCAL" -> {:ex_aws, path: "../ex_aws"} - _ -> {:ex_aws, "~> 2.0.0"} + _ -> {:ex_aws, "~> 2.0"} end end end