1{ lib
2, boto3
3, botocore
4, buildPythonPackage
5, cached-property
6, click
7, click-option-group
8, fetchFromGitHub
9, jinja2
10, markdown
11, policy-sentry
12, pytestCheckHook
13, pythonOlder
14, pyyaml
15, schema
16}:
17
18buildPythonPackage rec {
19 pname = "cloudsplaining";
20 version = "0.4.6";
21
22 disabled = pythonOlder "3.6";
23
24 src = fetchFromGitHub {
25 owner = "salesforce";
26 repo = pname;
27 rev = version;
28 sha256 = "sha256-TFUOsfQ1QxdpmRUJPoHMCuCpmYpQodLkP5EVXKm+qsw=";
29 };
30
31 propagatedBuildInputs = [
32 boto3
33 botocore
34 cached-property
35 click
36 click-option-group
37 jinja2
38 markdown
39 policy-sentry
40 pyyaml
41 schema
42 ];
43
44 checkInputs = [
45 pytestCheckHook
46 ];
47
48 postPatch = ''
49 # Ignore pinned versions
50 sed -i "s/'\(.*\)\(==\|>=\).*'/'\1'/g" requirements.txt
51 '';
52
53 disabledTests = [
54 "test_policy_expansion"
55 "test_statement_details_for_allow_not_action"
56 ];
57
58 pythonImportsCheck = [
59 "cloudsplaining"
60 ];
61
62 meta = with lib; {
63 description = "Python module for AWS IAM security assessment";
64 homepage = "https://github.com/salesforce/cloudsplaining";
65 license = licenses.bsd3;
66 maintainers = with maintainers; [ fab ];
67 };
68}