Commit f96d08b
committed
Add a "configure" top level command
This command will allow a user to be interactively prompted for values:
$ aws configure
AWS Access Key ID [****************]: accesskey
AWS Secret Access Key [****************]: secretkey
Default region name [us-west-2]: us-west-2
Default output format [None]: json
This will automatically create an `~/.aws/config` file and write out the
values to this file. This can also be used to update existing values.
If you run the `configure` command with existing values then the current
value will be provided in `[brackets]`, you can hit enter to accept the
current value or provide a new value.
Care was taken to *not* touch any unchanged data on updates. This means
we don't just simply load the parsed config data, manipulate it, the use
ConfigParser to write out the new data. This would lose the existing
formatting of the file as well as any comments in the config file.
If I have a config file like this:
aws_access_key_id = myaccesskey
aws_secret_access_key = secretkey
; Here's a comment.
# Here's a nother comment.
; And another comment
output = text ; Use text output instead of json
region = us-west-1
And I run `aws configure` and only enter a value for *just* the region, then
only the region line will be changed. All the existing comments will be
preserved.
Internal Changes
================
Part of this change is the introduction of a `BasicCommand` class that
makes it much easier to create top level commands. It supports:
* Defining documentation on the command object
* Defining an argument table on the command object
* Automatically managing the argparse creation
* Automatically providing a "help" command
It doesn't support subcommands (mostly because the "configure" command
doesn't have any right now), but I do plan on adding support for
subcommands.
When this means for plugin writers is that you only have to define a
single class to create a new to level command.
This required some small changes to `bcdoc` related to pulling up the
synopsis/option handlers into the base handler class so that we can have
the same look and feel as built the arguments for built in operations.1 parent d68a5f5 commit f96d08b
9 files changed
Lines changed: 855 additions & 29 deletions
File tree
- awscli
- customizations
- s3
- tests/unit
- customizations
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
93 | | - | |
94 | | - | |
| 93 | + | |
| 94 | + | |
95 | 95 | | |
96 | 96 | | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
| 97 | + | |
| 98 | + | |
112 | 99 | | |
113 | 100 | | |
114 | 101 | | |
115 | 102 | | |
116 | | - | |
| 103 | + | |
117 | 104 | | |
118 | | - | |
| 105 | + | |
119 | 106 | | |
120 | 107 | | |
121 | 108 | | |
122 | 109 | | |
123 | | - | |
| 110 | + | |
124 | 111 | | |
125 | 112 | | |
126 | 113 | | |
127 | 114 | | |
128 | 115 | | |
129 | | - | |
| 116 | + | |
| 117 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| |||
247 | 247 | | |
248 | 248 | | |
249 | 249 | | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
250 | 254 | | |
251 | 255 | | |
252 | 256 | | |
| |||
467 | 471 | | |
468 | 472 | | |
469 | 473 | | |
470 | | - | |
| 474 | + | |
471 | 475 | | |
472 | 476 | | |
473 | 477 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
0 commit comments