Skip to content

Commit baa7f13

Browse files
committed
upgrade urfave/cli from v2 to v3
1 parent 1736df5 commit baa7f13

File tree

12 files changed

+140
-174
lines changed

12 files changed

+140
-174
lines changed

go.mod

+1-5
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ require (
2424
github.com/pkg/errors v0.9.1
2525
github.com/sirupsen/logrus v1.9.3
2626
github.com/stretchr/testify v1.10.0
27-
github.com/urfave/cli/v2 v2.27.5
27+
github.com/urfave/cli/v3 v3.0.0-beta1
2828
go.uber.org/ratelimit v0.3.1
2929
golang.org/x/text v0.21.0
3030
gopkg.in/yaml.v3 v3.0.1
@@ -41,11 +41,9 @@ require (
4141
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.8 // indirect
4242
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.11 // indirect
4343
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.10 // indirect
44-
github.com/aws/aws-sdk-go-v2/service/route53 v1.48.3 // indirect
4544
github.com/aws/aws-sdk-go-v2/service/sso v1.24.13 // indirect
4645
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.12 // indirect
4746
github.com/benbjohnson/clock v1.3.0 // indirect
48-
github.com/cpuguy83/go-md2man/v2 v2.0.5 // indirect
4947
github.com/davecgh/go-spew v1.1.1 // indirect
5048
github.com/jmespath/go-jmespath v0.4.0 // indirect
5149
github.com/kr/pretty v0.3.1 // indirect
@@ -54,9 +52,7 @@ require (
5452
github.com/mb0/glob v0.0.0-20160210091149-1eb79d2de6c4 // indirect
5553
github.com/pmezard/go-difflib v1.0.0 // indirect
5654
github.com/rogpeppe/go-internal v1.11.0 // indirect
57-
github.com/russross/blackfriday/v2 v2.1.0 // indirect
5855
github.com/stevenle/topsort v0.2.0 // indirect
59-
github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect
6056
golang.org/x/mod v0.17.0 // indirect
6157
golang.org/x/sync v0.10.0 // indirect
6258
golang.org/x/sys v0.25.0 // indirect

go.sum

+2-66
Original file line numberDiff line numberDiff line change
@@ -1,117 +1,57 @@
1-
github.com/aws/aws-sdk-go v1.54.20 h1:FZ2UcXya7bUkvkpf7TaPmiL7EubK0go1nlXGLRwEsoo=
2-
github.com/aws/aws-sdk-go v1.54.20/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU=
3-
github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU=
4-
github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU=
51
github.com/aws/aws-sdk-go v1.55.6 h1:cSg4pvZ3m8dgYcgqB97MrcdjUmZ1BeMYKUxMMB89IPk=
62
github.com/aws/aws-sdk-go v1.55.6/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU=
7-
github.com/aws/aws-sdk-go-v2 v1.32.7 h1:ky5o35oENWi0JYWUZkB7WYvVPP+bcRF5/Iq7JWSb5Rw=
8-
github.com/aws/aws-sdk-go-v2 v1.32.7/go.mod h1:P5WJBrYqqbWVaOxgH0X/FYYD47/nooaPOZPlQdmiN2U=
9-
github.com/aws/aws-sdk-go-v2 v1.34.0 h1:9iyL+cjifckRGEVpRKZP3eIxVlL06Qk1Tk13vreaVQU=
10-
github.com/aws/aws-sdk-go-v2 v1.34.0/go.mod h1:JgstGg0JjWU1KpVJjD5H0y0yyAIpSdKEq556EI6yOOM=
113
github.com/aws/aws-sdk-go-v2 v1.35.0 h1:jTPxEJyzjSuuz0wB+302hr8Eu9KUI+Zv8zlujMGJpVI=
124
github.com/aws/aws-sdk-go-v2 v1.35.0/go.mod h1:JgstGg0JjWU1KpVJjD5H0y0yyAIpSdKEq556EI6yOOM=
135
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.7 h1:lL7IfaFzngfx0ZwUGOZdsFFnQ5uLvR0hWqqhyE7Q9M8=
146
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.7/go.mod h1:QraP0UcVlQJsmHfioCrveWOC1nbiWUl3ej08h4mXWoc=
15-
github.com/aws/aws-sdk-go-v2/config v1.28.7 h1:GduUnoTXlhkgnxTD93g1nv4tVPILbdNQOzav+Wpg7AE=
16-
github.com/aws/aws-sdk-go-v2/config v1.28.7/go.mod h1:vZGX6GVkIE8uECSUHB6MWAUsd4ZcG2Yq/dMa4refR3M=
177
github.com/aws/aws-sdk-go-v2/config v1.28.11 h1:7Ekru0IkRHRnSRWGQLnLN6i0o1Jncd0rHo2T130+tEQ=
188
github.com/aws/aws-sdk-go-v2/config v1.28.11/go.mod h1:x78TpPvBfHH16hi5tE3OCWQ0pzNfyXA349p5/Wp82Yo=
19-
github.com/aws/aws-sdk-go-v2/credentials v1.17.48 h1:IYdLD1qTJ0zanRavulofmqut4afs45mOWEI+MzZtTfQ=
20-
github.com/aws/aws-sdk-go-v2/credentials v1.17.48/go.mod h1:tOscxHN3CGmuX9idQ3+qbkzrjVIx32lqDSU1/0d/qXs=
219
github.com/aws/aws-sdk-go-v2/credentials v1.17.56 h1:JKMBreKudV+ozx6rZJLvEtiexv48aEdhdC7mXUw9MLs=
2210
github.com/aws/aws-sdk-go-v2/credentials v1.17.56/go.mod h1:S3xRjIHD8HHFgMTz4L56q/7IldfNtGL9JjH/vP3U6DA=
23-
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.22 h1:kqOrpojG71DxJm/KDPO+Z/y1phm1JlC8/iT+5XRmAn8=
24-
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.22/go.mod h1:NtSFajXVVL8TA2QNngagVZmUtXciyrHOt7xgz4faS/M=
2511
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.26 h1:XMBqBEuZLf8yxtH+mU/uUDyQbN4iD/xv9h6he2+lzhw=
2612
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.26/go.mod h1:d0+wQ/3CYGPuHEfBTPpQdfUX7gjk0/Lxs5Q6KzdEGY8=
27-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26 h1:I/5wmGMffY4happ8NOCuIUEWGUvvFp5NSeQcXl9RHcI=
28-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26/go.mod h1:FR8f4turZtNy6baO0KJ5FJUmXH/cSkI9fOngs0yl6mA=
29-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.29 h1:Ej0Rf3GMv50Qh4G4852j2djtoDb7AzQ7MuQeFHa3D70=
30-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.29/go.mod h1:oeNTC7PwJNoM5AznVr23wxhLnuJv0ZDe5v7w0wqIs9M=
3113
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.30 h1:+7AzSGNhHoY53di13lvztf9Dyd/9ofzoYGBllkWp3a0=
3214
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.30/go.mod h1:Jxd/FrCny99yURiQiMywgXvBhd7tmgdv6KdlUTNzMSo=
33-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26 h1:zXFLuEuMMUOvEARXFUVJdfqZ4bvvSgdGRq/ATcrQxzM=
34-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26/go.mod h1:3o2Wpy0bogG1kyOPrgkXA8pgIfEEv0+m19O9D5+W8y8=
35-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.29 h1:6e8a71X+9GfghragVevC5bZqvATtc3mAMgxpSNbgzF0=
36-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.29/go.mod h1:c4jkZiQ+BWpNqq7VtrxjwISrLrt/VvPq3XiopkUIolI=
3715
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.30 h1:Ex06eY6I5rO7IX0HalGfa5nGjpBoOsS1Qm3xfjkuszs=
3816
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.30/go.mod h1:AvyEMA9QcX59kFhVizBpIBpEMThUTXssuJe+emBdcGM=
3917
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ=
4018
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc=
41-
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.26 h1:GeNJsIFHB+WW5ap2Tec4K6dzcVTsRbsT1Lra46Hv9ME=
42-
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.26/go.mod h1:zfgMpwHDXX2WGoG84xG2H+ZlPTkJUU4YUvx2svLQYWo=
4319
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.27 h1:AmB5QxnD+fBFrg9LcqzkgF/CaYvMyU/BTlejG4t1S7Q=
4420
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.27/go.mod h1:Sai7P3xTiyv9ZUYO3IFxMnmiIP759/67iQbU4kdmkyU=
45-
github.com/aws/aws-sdk-go-v2/service/iam v1.38.3 h1:2sFIoFzU1IEL9epJWubJm9Dhrn45aTNEJuwsesaCGnk=
46-
github.com/aws/aws-sdk-go-v2/service/iam v1.38.3/go.mod h1:KzlNINwfr/47tKkEhgk0r10/OZq3rjtyWy0txL3lM+I=
4721
github.com/aws/aws-sdk-go-v2/service/iam v1.38.9 h1:gUDcDI6ZY/3GNAglarZFuRIrmYCGPMhWV1o+S+6zVQs=
4822
github.com/aws/aws-sdk-go-v2/service/iam v1.38.9/go.mod h1:O9e5rCMMB/XAvFh2QrVQWFqj3gmZYSKS/U6eS/bXU/8=
49-
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 h1:iXtILhvDxB6kPvEXgsDhGaZCSC6LQET5ZHSdJozeI0Y=
50-
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1/go.mod h1:9nu0fVANtYiAePIBh2/pFUSwtJ402hLnp854CNoDOeE=
5123
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.2 h1:D4oz8/CzT9bAEYtVhSBmFj2dNOtaHOtMKc2vHBwYizA=
5224
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.2/go.mod h1:Za3IHqTQ+yNcRHxu1OFucBh0ACZT4j4VQFF0BqpZcLY=
53-
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.7 h1:tB4tNw83KcajNAzaIMhkhVI2Nt8fAZd5A5ro113FEMY=
54-
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.7/go.mod h1:lvpyBGkZ3tZ9iSsUIcC2EWp+0ywa7aK3BLT+FwZi+mQ=
5525
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.8 h1:iwYS40JnrBeA9e9aI5S6KKN4EB2zR4iUVYN0nwVivz4=
5626
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.8/go.mod h1:Fm9Mi+ApqmFiknZtGpohVcBGvpTu542VC4XO9YudRi0=
57-
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.7 h1:8eUsivBQzZHqe/3FE+cqwfH+0p5Jo8PFM/QYQSmeZ+M=
58-
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.7/go.mod h1:kLPQvGUmxn/fqiCrDeohwG33bq2pQpGeY62yRO6Nrh0=
5927
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.11 h1:5JKQ2J3BBW4ovy6A/5Lwx9SpA6IzgH8jB3bquGZ1NUw=
6028
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.11/go.mod h1:VShCk7rfCzK/b9U1aSkzLwcOoaDlYna16482QqEavis=
61-
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.7 h1:Hi0KGbrnr57bEHWM0bJ1QcBzxLrL/k2DHvGYhb8+W1w=
62-
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.7/go.mod h1:wKNgWgExdjjrm4qvfbTorkvocEstaoDl4WCvGfeCy9c=
6329
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.10 h1:fXoWC2gi7tdJYNTPnnlSGzEVwewUchOi8xVq/dkg8Qs=
6430
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.10/go.mod h1:cvzBApD5dVazHU8C2rbBQzzzsKc8m5+wNJ9mCRZLKPc=
65-
github.com/aws/aws-sdk-go-v2/service/route53 v1.48.3 h1:9m6dc70AMaAIwephy90ApV/smdya4XA48zCWQTITcJE=
66-
github.com/aws/aws-sdk-go-v2/service/route53 v1.48.3/go.mod h1:CpxUf0l25aMre5K8cD0L2UeivINz0wiWM+CiWrHRxho=
67-
github.com/aws/aws-sdk-go-v2/service/route53profiles v1.4.12 h1:nFo2bMCOCr1S3/iurBI+DPLTTq6DMKg8vVhgMd91AOE=
68-
github.com/aws/aws-sdk-go-v2/service/route53profiles v1.4.12/go.mod h1:V5DW+JWvGcbimFHReG61uJtl0tnBpqCCYJpvHWkKnVY=
6931
github.com/aws/aws-sdk-go-v2/service/route53profiles v1.4.13 h1:pgX1Os7Eac6VFwg6yz3fV/AcRPfWsLopP9Y1TJSTSMQ=
7032
github.com/aws/aws-sdk-go-v2/service/route53profiles v1.4.13/go.mod h1:iWpnd5Mw/rGjLU7CfSnz0Hjz2PZUA6YP0Lf8e6ugN7Y=
71-
github.com/aws/aws-sdk-go-v2/service/s3 v1.72.0 h1:SAfh4pNx5LuTafKKWR02Y+hL3A+3TX8cTKG1OIAJaBk=
72-
github.com/aws/aws-sdk-go-v2/service/s3 v1.72.0/go.mod h1:r+xl5yzMk9083rMR+sJ5TYj9Tihvf/l1oxzZXDgGj2Q=
7333
github.com/aws/aws-sdk-go-v2/service/s3 v1.72.3 h1:WZOmJfCDV+4tYacLxpiojoAdT5sxTfB3nTqQNtZu+J4=
7434
github.com/aws/aws-sdk-go-v2/service/s3 v1.72.3/go.mod h1:xMekrnhmJ5aqmyxtmALs7mlvXw5xRh+eYjOjvrIIFJ4=
75-
github.com/aws/aws-sdk-go-v2/service/s3control v1.52.1 h1:xxGbXbGtO/VMz2JqB1UwEDlSchryUss0KmQJSZ0oTUE=
76-
github.com/aws/aws-sdk-go-v2/service/s3control v1.52.1/go.mod h1:6BuUa52of67a+ri/poTH82XiL+rTGQWUPZCmf2cfVHI=
7735
github.com/aws/aws-sdk-go-v2/service/s3control v1.52.7 h1:cewH1fJ35N26pujUo8pXtqngf0QZio0ko62rT1x2Uak=
7836
github.com/aws/aws-sdk-go-v2/service/s3control v1.52.7/go.mod h1:zZ6ah0Hp8TqLZERFcwSQ2T5A4lMkX5vujkDvSkFiXh8=
79-
github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.3.2 h1:4siT1z3nEVxJq1jZYu1SRoct5xgbKen+ammCuZBZ2zI=
80-
github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.3.2/go.mod h1:KSO1+erW2SUB6Mw/Qamu1fOT5fn/mzd9G79ENbYqyRQ=
8137
github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.3.7 h1:kbkQuOJwPu4KVUeeFo3MhonD0qMUCGnZcbwLqaObGGQ=
8238
github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.3.7/go.mod h1:Uaoy0bcg9Cv8NiJcpxvY3A+BCmwB4P5WWYtimeo/D2Y=
83-
github.com/aws/aws-sdk-go-v2/service/sso v1.24.8 h1:CvuUmnXI7ebaUAhbJcDy9YQx8wHR69eZ9I7q5hszt/g=
84-
github.com/aws/aws-sdk-go-v2/service/sso v1.24.8/go.mod h1:XDeGv1opzwm8ubxddF0cgqkZWsyOtw4lr6dxwmb6YQg=
8539
github.com/aws/aws-sdk-go-v2/service/sso v1.24.13 h1:q4pOAKxypbFoUJzOpgo939bF50qb4DgYshiDfcsdN0M=
8640
github.com/aws/aws-sdk-go-v2/service/sso v1.24.13/go.mod h1:G/0PTg7+vQT42ictQGjJhixzTcVZtHFvrN/OeTXrRfQ=
87-
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.7 h1:F2rBfNAL5UyswqoeWv9zs74N/NanhK16ydHW1pahX6E=
88-
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.7/go.mod h1:JfyQ0g2JG8+Krq0EuZNnRwX0mU0HrwY/tG6JNfcqh4k=
8941
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.12 h1:4sGSGshSSfO1vrcXruPick3ioSf8nhhD6nuB2ni37P4=
9042
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.12/go.mod h1:NHpu/pLOelViA4qxkAFH10VLqh+XeLhZfXDaFyMVgSs=
91-
github.com/aws/aws-sdk-go-v2/service/sts v1.33.3 h1:Xgv/hyNgvLda/M9l9qxXc4UFSgppnRczLxlMs5Ae/QY=
92-
github.com/aws/aws-sdk-go-v2/service/sts v1.33.3/go.mod h1:5Gn+d+VaaRgsjewpMvGazt0WfcFO+Md4wLOuBfGR9Bc=
9343
github.com/aws/aws-sdk-go-v2/service/sts v1.33.11 h1:RIXOjp7Dp4siCYJRwBHUcBdVgOWflSJGlq4ZhMI5Ta0=
9444
github.com/aws/aws-sdk-go-v2/service/sts v1.33.11/go.mod h1:ZR17k9bPKPR8u0IkyA6xVsjr56doNQ4ZB1fs7abYBfE=
95-
github.com/aws/aws-sdk-go-v2/service/transfer v1.55.1 h1:bENkaFtA6rxHAwNPjYbgwYxUHGJbL7QocCt8nKZ7d10=
96-
github.com/aws/aws-sdk-go-v2/service/transfer v1.55.1/go.mod h1:C7x9hpm90ZocJ9GbauHMkVMU0m7knEiKhOaa4um9tBU=
9745
github.com/aws/aws-sdk-go-v2/service/transfer v1.55.5 h1:3CgAcyZciL7KG/8LCEWWoMJfZvgZV2xUzjtNGDlaBVQ=
9846
github.com/aws/aws-sdk-go-v2/service/transfer v1.55.5/go.mod h1:NJBUE6GjnjqSvexXpU0pj/2w+VEhRk5XPL5rRZpj7bI=
99-
github.com/aws/smithy-go v1.22.1 h1:/HPHZQ0g7f4eUeK6HKglFz8uwVfZKgoI25rb/J+dnro=
100-
github.com/aws/smithy-go v1.22.1/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg=
10147
github.com/aws/smithy-go v1.22.2 h1:6D9hW43xKFrRx/tXXfAlIZc4JI+yQe6snnWcQyxSyLQ=
10248
github.com/aws/smithy-go v1.22.2/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg=
10349
github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A=
10450
github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
105-
github.com/cpuguy83/go-md2man/v2 v2.0.5 h1:ZtcqGrnekaHpVLArFSe4HK5DoKx1T0rq2DwVB0alcyc=
106-
github.com/cpuguy83/go-md2man/v2 v2.0.5/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
10751
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
10852
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
10953
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
11054
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
111-
github.com/ekristen/libnuke v0.24.0 h1:DCzkOwT+n/2G37KoNSlTOU1DoAVcBgtdaJSNpQl6NJw=
112-
github.com/ekristen/libnuke v0.24.0/go.mod h1:+hh3UCSxmkfBweQJv9pa5twY82n7MhO4DK+AA+oUoTM=
113-
github.com/ekristen/libnuke v0.24.1-0.20250109232209-dbd828cf4a86 h1:gnp+Y2wqbRRUbjp6ACcaGbwZNzlF+QdnqGJpGJSFQDM=
114-
github.com/ekristen/libnuke v0.24.1-0.20250109232209-dbd828cf4a86/go.mod h1:+hh3UCSxmkfBweQJv9pa5twY82n7MhO4DK+AA+oUoTM=
11555
github.com/ekristen/libnuke v0.24.1 h1:vm4+KA8d+VJ7MTrAlQhW6XxnG9yrPW1f5MNMlui9tT0=
11656
github.com/ekristen/libnuke v0.24.1/go.mod h1:+hh3UCSxmkfBweQJv9pa5twY82n7MhO4DK+AA+oUoTM=
11757
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
@@ -150,8 +90,6 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN
15090
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
15191
github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M=
15292
github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
153-
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
154-
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
15593
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
15694
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
15795
github.com/stevenle/topsort v0.2.0 h1:LLWgtp34HPX6/RBDRS0kElVxGOTzGBLI1lSAa5Lb46k=
@@ -160,10 +98,8 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+
16098
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
16199
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
162100
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
163-
github.com/urfave/cli/v2 v2.27.5 h1:WoHEJLdsXr6dDWoJgMq/CboDmyY/8HMMH1fTECbih+w=
164-
github.com/urfave/cli/v2 v2.27.5/go.mod h1:3Sevf16NykTbInEnD0yKkjDAeZDS0A6bzhBH5hrMvTQ=
165-
github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 h1:gEOO8jv9F4OT7lGCjxCBTO/36wtF6j2nSip77qHd4x4=
166-
github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1/go.mod h1:Ohn+xnUBiLI6FVj/9LpzZWtj1/D6lUovWYBkxHVV3aM=
101+
github.com/urfave/cli/v3 v3.0.0-beta1 h1:6DTaaUarcM0wX7qj5Hcvs+5Dm3dyUTBbEwIWAjcw9Zg=
102+
github.com/urfave/cli/v3 v3.0.0-beta1/go.mod h1:FnIeEMYu+ko8zP1F9Ypr3xkZMIDqW3DR92yUtY39q1Y=
167103
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
168104
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
169105
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=

main.go

+14-17
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
package main
22

33
import (
4+
"context"
45
"os"
56

67
"github.com/sirupsen/logrus"
7-
"github.com/urfave/cli/v2"
8+
"github.com/urfave/cli/v3"
89

910
"github.com/ekristen/aws-nuke/v3/pkg/common"
1011

@@ -29,25 +30,21 @@ func main() {
2930
}
3031
}()
3132

32-
app := cli.NewApp()
33-
app.Name = common.AppVersion.Name
34-
app.Usage = "remove everything from an aws account"
35-
app.Version = common.AppVersion.Summary
36-
app.Authors = []*cli.Author{
37-
{
38-
Name: "Erik Kristensen",
39-
33+
app := &cli.Command{
34+
Name: common.AppVersion.Name,
35+
Usage: "remove everything from an aws account",
36+
Version: common.AppVersion.Summary,
37+
Authors: []any{
38+
"Erik Kristensen <[email protected]>",
4039
},
40+
Commands: common.GetCommands(),
41+
CommandNotFound: func(ctx context.Context, command *cli.Command, s string) {
42+
logrus.Fatalf("Command %s not found.", s)
43+
},
44+
EnableShellCompletion: true,
4145
}
4246

43-
app.Commands = common.GetCommands()
44-
app.CommandNotFound = func(context *cli.Context, command string) {
45-
logrus.Fatalf("Command %s not found.", command)
46-
}
47-
48-
app.EnableBashCompletion = true
49-
50-
if err := app.Run(os.Args); err != nil {
47+
if err := app.Run(context.Background(), os.Args); err != nil {
5148
logrus.Fatal(err)
5249
}
5350
}

pkg/commands/account/account.go

+15-14
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package account
22

33
import (
4+
"context"
45
"fmt"
5-
66
"github.com/sirupsen/logrus"
7-
"github.com/urfave/cli/v2"
7+
"github.com/urfave/cli/v3"
88

99
"github.com/aws/aws-sdk-go/aws/endpoints"
1010

@@ -18,7 +18,7 @@ import (
1818
"github.com/ekristen/aws-nuke/v3/pkg/config"
1919
)
2020

21-
func execute(c *cli.Context) error {
21+
func execute(_ context.Context, c *cli.Command) error {
2222
defaultRegion := c.String("default-region")
2323
creds := nuke.ConfigureCreds(c)
2424

@@ -28,11 +28,11 @@ func execute(c *cli.Context) error {
2828

2929
// Parse the user supplied configuration file to pass in part to configure the nuke process.
3030
parsedConfig, err := config.New(libconfig.Options{
31-
Path: c.Path("config"),
31+
Path: c.String("config"),
3232
Deprecations: registry.GetDeprecatedResourceTypeMapping(),
3333
})
3434
if err != nil {
35-
logrus.Errorf("Failed to parse config file %s", c.Path("config"))
35+
logrus.Errorf("Failed to parse config file %s", c.String("config"))
3636
return err
3737
}
3838

@@ -94,50 +94,51 @@ func execute(c *cli.Context) error {
9494

9595
func init() {
9696
flags := []cli.Flag{
97-
&cli.PathFlag{
97+
&cli.StringFlag{
9898
Name: "config",
9999
Aliases: []string{"c"},
100100
Usage: "path to config file",
101101
Value: "config.yaml",
102+
Action: common.CheckFilePath,
102103
},
103104
&cli.StringFlag{
104105
Name: "default-region",
105-
EnvVars: []string{"AWS_DEFAULT_REGION"},
106+
Sources: cli.EnvVars("AWS_DEFAULT_REGION"),
106107
Usage: "the default aws region to use when setting up the aws auth session",
107108
},
108109
&cli.StringFlag{
109110
Name: "access-key-id",
110-
EnvVars: []string{"AWS_ACCESS_KEY_ID"},
111+
Sources: cli.EnvVars("AWS_ACCESS_KEY_ID"),
111112
Usage: "the aws access key id to use when setting up the aws auth session",
112113
},
113114
&cli.StringFlag{
114115
Name: "secret-access-key",
115-
EnvVars: []string{"AWS_SECRET_ACCESS_KEY"},
116+
Sources: cli.EnvVars("AWS_SECRET_ACCESS_KEY"),
116117
Usage: "the aws secret access key to use when setting up the aws auth session",
117118
},
118119
&cli.StringFlag{
119120
Name: "session-token",
120-
EnvVars: []string{"AWS_SESSION_TOKEN"},
121+
Sources: cli.EnvVars("AWS_SESSION_TOKEN"),
121122
Usage: "the aws session token to use when setting up the aws auth session, typically used for temporary credentials",
122123
},
123124
&cli.StringFlag{
124125
Name: "profile",
125-
EnvVars: []string{"AWS_PROFILE"},
126+
Sources: cli.EnvVars("AWS_PROFILE"),
126127
Usage: "the aws profile to use when setting up the aws auth session, typically used for shared credentials files",
127128
},
128129
&cli.StringFlag{
129130
Name: "assume-role-arn",
130-
EnvVars: []string{"AWS_ASSUME_ROLE_ARN"},
131+
Sources: cli.EnvVars("AWS_ASSUME_ROLE_ARN"),
131132
Usage: "the role arn to assume using the credentials provided in the profile or statically set",
132133
},
133134
&cli.StringFlag{
134135
Name: "assume-role-session-name",
135-
EnvVars: []string{"AWS_ASSUME_ROLE_SESSION_NAME"},
136+
Sources: cli.EnvVars("AWS_ASSUME_ROLE_SESSION_NAME"),
136137
Usage: "the session name to provide for the assumed role",
137138
},
138139
&cli.StringFlag{
139140
Name: "assume-role-external-id",
140-
EnvVars: []string{"AWS_ASSUME_ROLE_EXTERNAL_ID"},
141+
Sources: cli.EnvVars("AWS_ASSUME_ROLE_EXTERNAL_ID"),
141142
Usage: "the external id to provide for the assumed role",
142143
},
143144
}

0 commit comments

Comments
 (0)