awscli 1.35.24__py3-none-any.whl → 1.36.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of awscli might be problematic. Click here for more details.

awscli/__init__.py CHANGED
@@ -18,7 +18,7 @@ A Universal Command Line Environment for Amazon Web Services.
18
18
 
19
19
  import os
20
20
 
21
- __version__ = '1.35.24'
21
+ __version__ = '1.36.0'
22
22
 
23
23
  #
24
24
  # Get our data path to be added to botocore's search path
awscli/paramfile.py CHANGED
@@ -18,7 +18,7 @@ from botocore.awsrequest import AWSRequest
18
18
  from botocore.exceptions import ProfileNotFound
19
19
  from botocore.httpsession import URLLib3Session
20
20
 
21
- from awscli.argprocess import ParamError
21
+ from awscli import argprocess
22
22
  from awscli.compat import compat_open
23
23
 
24
24
  logger = logging.getLogger(__name__)
@@ -183,7 +183,7 @@ class URIArgumentHandler:
183
183
  try:
184
184
  return get_paramfile(value, self._prefixes)
185
185
  except ResourceLoadingError as e:
186
- raise ParamError(param.cli_name, str(e))
186
+ raise argprocess.ParamError(param.cli_name, str(e))
187
187
 
188
188
 
189
189
  def get_paramfile(path, cases):
awscli/shorthand.py CHANGED
@@ -42,6 +42,7 @@ necessary to maintain backwards compatibility. This is done in the
42
42
  import re
43
43
  import string
44
44
 
45
+ from awscli.paramfile import LOCAL_PREFIX_MAP, get_paramfile
45
46
  from awscli.utils import is_document_type
46
47
 
47
48
  _EOF = object()
@@ -160,6 +161,7 @@ class ShorthandParser:
160
161
  """
161
162
  self._input_value = value
162
163
  self._index = 0
164
+ self._should_resolve_paramfiles = False
163
165
  return self._parameter()
164
166
 
165
167
  def _parameter(self):
@@ -182,8 +184,15 @@ class ShorthandParser:
182
184
  return params
183
185
 
184
186
  def _keyval(self):
185
- # keyval = key "=" [values]
187
+ # keyval = key "=" [values] / key "@=" [file-optional-values]
188
+ # file-optional-values = file://value / fileb://value / value
186
189
  key = self._key()
190
+ self._should_resolve_paramfiles = False
191
+ try:
192
+ self._expect('@', consume_whitespace=True)
193
+ self._should_resolve_paramfiles = True
194
+ except ShorthandParseSyntaxError:
195
+ pass
187
196
  self._expect('=', consume_whitespace=True)
188
197
  values = self._values()
189
198
  return key, values
@@ -261,7 +270,8 @@ class ShorthandParser:
261
270
  result = self._FIRST_VALUE.match(self._input_value[self._index :])
262
271
  if result is not None:
263
272
  consumed = self._consume_matched_regex(result)
264
- return consumed.replace('\\,', ',').rstrip()
273
+ processed = consumed.replace('\\,', ',').rstrip()
274
+ return self._resolve_paramfiles(processed) if self._should_resolve_paramfiles else processed
265
275
  return ''
266
276
 
267
277
  def _explicit_list(self):
@@ -292,6 +302,12 @@ class ShorthandParser:
292
302
  keyvals = {}
293
303
  while self._current() != '}':
294
304
  key = self._key()
305
+ self._should_resolve_paramfiles = False
306
+ try:
307
+ self._expect('@', consume_whitespace=True)
308
+ self._should_resolve_paramfiles = True
309
+ except ShorthandParseSyntaxError:
310
+ pass
295
311
  self._expect('=', consume_whitespace=True)
296
312
  v = self._explicit_values()
297
313
  self._consume_whitespace()
@@ -314,7 +330,8 @@ class ShorthandParser:
314
330
  # single-quoted-value = %x27 *(val-escaped-single) %x27
315
331
  # val-escaped-single = %x20-26 / %x28-7F / escaped-escape /
316
332
  # (escape single-quote)
317
- return self._consume_quoted(self._SINGLE_QUOTED, escaped_char="'")
333
+ processed = self._consume_quoted(self._SINGLE_QUOTED, escaped_char="'")
334
+ return self._resolve_paramfiles(processed) if self._should_resolve_paramfiles else processed
318
335
 
319
336
  def _consume_quoted(self, regex, escaped_char=None):
320
337
  value = self._must_consume_regex(regex)[1:-1]
@@ -324,7 +341,8 @@ class ShorthandParser:
324
341
  return value
325
342
 
326
343
  def _double_quoted_value(self):
327
- return self._consume_quoted(self._DOUBLE_QUOTED, escaped_char='"')
344
+ processed = self._consume_quoted(self._DOUBLE_QUOTED, escaped_char='"')
345
+ return self._resolve_paramfiles(processed) if self._should_resolve_paramfiles else processed
328
346
 
329
347
  def _second_value(self):
330
348
  if self._current() == "'":
@@ -333,7 +351,13 @@ class ShorthandParser:
333
351
  return self._double_quoted_value()
334
352
  else:
335
353
  consumed = self._must_consume_regex(self._SECOND_VALUE)
336
- return consumed.replace('\\,', ',').rstrip()
354
+ processed = consumed.replace('\\,', ',').rstrip()
355
+ return self._resolve_paramfiles(processed) if self._should_resolve_paramfiles else processed
356
+
357
+ def _resolve_paramfiles(self, val):
358
+ if (paramfile := get_paramfile(val, LOCAL_PREFIX_MAP)) is not None:
359
+ return paramfile
360
+ return val
337
361
 
338
362
  def _expect(self, char, consume_whitespace=False):
339
363
  if consume_whitespace:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: awscli
3
- Version: 1.35.24
3
+ Version: 1.36.0
4
4
  Summary: Universal Command Line Environment for AWS.
5
5
  Home-page: http://aws.amazon.com/cli/
6
6
  Author: Amazon Web Services
@@ -23,7 +23,7 @@ Classifier: Programming Language :: Python :: 3.11
23
23
  Classifier: Programming Language :: Python :: 3.12
24
24
  Requires-Python: >= 3.8
25
25
  License-File: LICENSE.txt
26
- Requires-Dist: botocore (==1.35.58)
26
+ Requires-Dist: botocore (==1.35.59)
27
27
  Requires-Dist: docutils (<0.17,>=0.10)
28
28
  Requires-Dist: s3transfer (<0.11.0,>=0.10.0)
29
29
  Requires-Dist: PyYAML (<6.1,>=3.10)
@@ -1,4 +1,4 @@
1
- awscli/__init__.py,sha256=ZRSR1j3SAjaMwYjqCH8wB08nDq7ijdelnXpWIipOQ_Y,1534
1
+ awscli/__init__.py,sha256=QKLxcBY4jyBQCp2Phk9qYY04GQgANVUesRgeHNo3Bc4,1533
2
2
  awscli/__main__.py,sha256=iBjOg0tBxNlhzTi_tyc1G0SMGBvHMVvBJzX3JqYaooY,662
3
3
  awscli/alias.py,sha256=Us9pvP8Zplbr1W4N3rE5gxicWLqlRG3l_9VPskxafgs,11313
4
4
  awscli/argparser.py,sha256=3Pxx-vWytdV985Y6MIl9DeutUXyehIvACIs_PDby8GI,7650
@@ -13,10 +13,10 @@ awscli/errorhandler.py,sha256=2bIBZrKvFICKAhoD180Cx7rRX608pG9RHsmlAcRb0wc,3139
13
13
  awscli/formatter.py,sha256=EI_dUo5uGf2YxWg5js4un_cksF5h58KuvOkkmptuu4o,10951
14
14
  awscli/handlers.py,sha256=1EohF1cebRLI0OhVgggFgV65tz4iWIyie_eyufLpkBU,10786
15
15
  awscli/help.py,sha256=-u2OtAdW9X8891FBA70xUC5Ky9lhjiWgtbh4hm-DoW8,14205
16
- awscli/paramfile.py,sha256=vmNWmjer3kw97Xdqv-tojFlNLmpl2EBQnzqAP85ceG0,10885
16
+ awscli/paramfile.py,sha256=Am_eFAIvtH4dMlWdUzMXY0IGEiZyGZ5knXyJBTIs5vM,10885
17
17
  awscli/plugin.py,sha256=B3wgRerhgFK1v-QQeASYv2VNLSa9oMuD4X_hcLSescI,2265
18
18
  awscli/schema.py,sha256=vNFkuE2BsgeqesRTWRhuSU341eqiKuMF5QAJvClyaKw,6394
19
- awscli/shorthand.py,sha256=LHUNyBLK9_iLbcmhFs0fEcZs1muRVMPB6SJ4_VNrEJI,17093
19
+ awscli/shorthand.py,sha256=ziXUkFyJGcDG8dMQzDMgdUSpZpe88gGBRk5Skkg60W4,18379
20
20
  awscli/table.py,sha256=VCyPjNHK4wO_-KKRz7zvuuNp2RLHb6DUPVbPdueji3w,15459
21
21
  awscli/testutils.py,sha256=qIC9pOiY-aOhVQyn3CIAeEFjIQ3NAnxozKPJMLRY4Ec,36901
22
22
  awscli/text.py,sha256=pr40cSMkGWZ5n-VXMcEKCo1xO5bK3nUbDK3WLwy2HFE,4177
@@ -5953,13 +5953,13 @@ awscli/topics/return-codes.rst,sha256=d9lpNFZwD75IiYcDEADQzu-4QiR8P28UPHkrNwPV5J
5953
5953
  awscli/topics/s3-config.rst,sha256=FwwCczTylrSLwELuDQ-VA8sCI7ruwV9PEJJrqxjUeG0,11502
5954
5954
  awscli/topics/s3-faq.rst,sha256=sS5jKHF_7X5eiGwpUg7aTqQt2zCRN-m_xXOcE0Bme0Q,1899
5955
5955
  awscli/topics/topic-tags.json,sha256=6lUSrs3FKCZNRSQMnjcXNgWyRNGjZIeur1988a4IO5o,1577
5956
- awscli-1.35.24.data/scripts/aws,sha256=r24FExgs0-JjILTQ3XZAqXBYE4SV6UMTtALkLGAj86g,805
5957
- awscli-1.35.24.data/scripts/aws.cmd,sha256=s46DkC6LNgX63CIkzxxbPnFMJ6DRDBkvc88GnWa8Pvg,1432
5958
- awscli-1.35.24.data/scripts/aws_bash_completer,sha256=RRpoEGJRagRzyHZKZZOwpltuVYv2EoiZsdXhmyWPZ54,204
5959
- awscli-1.35.24.data/scripts/aws_completer,sha256=oC9kuMDlWE47dWk_4xjPde2PQvN-M0vND0J4YSLabVQ,1126
5960
- awscli-1.35.24.data/scripts/aws_zsh_completer.sh,sha256=Qm6Z8ejNAMzpJjaT0pzqxbSDT2zxdmzVe5haRA7qLoc,1808
5961
- awscli-1.35.24.dist-info/LICENSE.txt,sha256=o5XhFlwu0OK_BBrijlKCRa7dQAm36UrUB3gCV_cEr8E,549
5962
- awscli-1.35.24.dist-info/METADATA,sha256=BMBGkB5PZCfcD_yjg8rzf9ZIb7LbqAGcPm5QdSam0I4,11331
5963
- awscli-1.35.24.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
5964
- awscli-1.35.24.dist-info/top_level.txt,sha256=vt9wXFr1_nGYK6abhJgt6zY3fULe4JSZedm_5XOM9S0,7
5965
- awscli-1.35.24.dist-info/RECORD,,
5956
+ awscli-1.36.0.data/scripts/aws,sha256=r24FExgs0-JjILTQ3XZAqXBYE4SV6UMTtALkLGAj86g,805
5957
+ awscli-1.36.0.data/scripts/aws.cmd,sha256=s46DkC6LNgX63CIkzxxbPnFMJ6DRDBkvc88GnWa8Pvg,1432
5958
+ awscli-1.36.0.data/scripts/aws_bash_completer,sha256=RRpoEGJRagRzyHZKZZOwpltuVYv2EoiZsdXhmyWPZ54,204
5959
+ awscli-1.36.0.data/scripts/aws_completer,sha256=oC9kuMDlWE47dWk_4xjPde2PQvN-M0vND0J4YSLabVQ,1126
5960
+ awscli-1.36.0.data/scripts/aws_zsh_completer.sh,sha256=Qm6Z8ejNAMzpJjaT0pzqxbSDT2zxdmzVe5haRA7qLoc,1808
5961
+ awscli-1.36.0.dist-info/LICENSE.txt,sha256=o5XhFlwu0OK_BBrijlKCRa7dQAm36UrUB3gCV_cEr8E,549
5962
+ awscli-1.36.0.dist-info/METADATA,sha256=U0uqw1cyLClAOyFowWwIYyyoKuJnuVQgQXQVmEw23to,11330
5963
+ awscli-1.36.0.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
5964
+ awscli-1.36.0.dist-info/top_level.txt,sha256=vt9wXFr1_nGYK6abhJgt6zY3fULe4JSZedm_5XOM9S0,7
5965
+ awscli-1.36.0.dist-info/RECORD,,
File without changes