leverage 2.2.0rc4__tar.gz → 2.2.0rc5__tar.gz

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.
Files changed (26) hide show
  1. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/PKG-INFO +1 -1
  2. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/leverage/__init__.py +1 -1
  3. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/leverage/modules/auth.py +5 -6
  4. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/leverage/modules/credentials.py +1 -1
  5. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/leverage/modules/tf.py +1 -1
  6. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/pyproject.toml +1 -1
  7. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/LICENSE.txt +0 -0
  8. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/README.md +0 -0
  9. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/leverage/_backend_config.py +0 -0
  10. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/leverage/_internals.py +0 -0
  11. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/leverage/_parsing.py +0 -0
  12. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/leverage/_utils.py +0 -0
  13. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/leverage/conf.py +0 -0
  14. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/leverage/leverage.py +0 -0
  15. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/leverage/logger.py +0 -0
  16. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/leverage/modules/__init__.py +0 -0
  17. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/leverage/modules/aws.py +0 -0
  18. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/leverage/modules/kubectl.py +0 -0
  19. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/leverage/modules/project.py +0 -0
  20. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/leverage/modules/run.py +0 -0
  21. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/leverage/modules/runner.py +0 -0
  22. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/leverage/modules/tfautomv.py +0 -0
  23. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/leverage/modules/tfrunner.py +0 -0
  24. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/leverage/modules/utils.py +0 -0
  25. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/leverage/path.py +0 -0
  26. {leverage-2.2.0rc4 → leverage-2.2.0rc5}/leverage/tasks.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: leverage
3
- Version: 2.2.0rc4
3
+ Version: 2.2.0rc5
4
4
  Summary: Binbash Leverage Command-Line tool.
5
5
  Home-page: https://github.com/binbashar/leverage
6
6
  License: MIT
@@ -4,7 +4,7 @@
4
4
 
5
5
  # pylint: disable=wrong-import-position
6
6
 
7
- __version__ = "2.2.0rc4"
7
+ __version__ = "2.2.0rc5"
8
8
 
9
9
  import sys
10
10
  from shutil import which
@@ -270,7 +270,7 @@ def refresh_layer_credentials_mfa(paths: PathsHandler):
270
270
  continue
271
271
 
272
272
  # if it is exactly that variable, we already know the layer profile is tf_profile
273
- layer_profile = tf_profile if raw_profile in ("${var.profile}", "each.value.profile") else None
273
+ layer_profile = tf_profile if raw_profile in ("var.profile", "each.value.profile") else None
274
274
 
275
275
  # replace variables with their corresponding values
276
276
  profile_name = (
@@ -284,7 +284,7 @@ def refresh_layer_credentials_mfa(paths: PathsHandler):
284
284
  layer_profile = profile_name
285
285
 
286
286
  logger.info(f"Attempting to get temporary credentials for {profile_name} profile.")
287
- if profile := config_updater.get_section(f"profile {profile_name}"):
287
+ if profile := config_updater.get_section(f"profile {profile_name}-mfa"):
288
288
  role_arn = profile.get("role_arn").value
289
289
  mfa_serial = profile.get("mfa_serial").value
290
290
  source_profile = profile.get("source_profile").value
@@ -295,6 +295,9 @@ def refresh_layer_credentials_mfa(paths: PathsHandler):
295
295
  f"Check the following link for possible solutions: https://leverage.binbash.co/user-guide/troubleshooting/credentials/",
296
296
  )
297
297
 
298
+ if not paths.aws_cache_dir.exists():
299
+ paths.aws_cache_dir.mkdir(parents=True)
300
+
298
301
  cache_file = paths.aws_cache_dir / profile_name
299
302
  if cache_file.exists():
300
303
  logger.debug(f"Found cached credentials in {cache_file}.")
@@ -321,12 +324,8 @@ def refresh_layer_credentials_mfa(paths: PathsHandler):
321
324
  raise ExitError(1, "Aborted by user.")
322
325
 
323
326
  try:
324
- logger.debug(
325
- f"Assuming role {role_arn} for {profile_name} profile with serial {mfa_serial} and token code {mfa_token_code}"
326
- )
327
327
  credentials = client.assume_role(
328
328
  RoleArn=role_arn,
329
- SourceIdentity=source_profile,
330
329
  RoleSessionName=f"leverage-{profile_name}",
331
330
  SerialNumber=mfa_serial,
332
331
  TokenCode=mfa_token_code,
@@ -611,7 +611,7 @@ def configure_accounts_profiles(
611
611
  if mfa_serial:
612
612
  account_profile["mfa_serial"] = mfa_serial
613
613
  # A profile identifier looks like `le-security-oaar`
614
- account_profiles[f"{short_name}-{account_name}-{PROFILES[_type]['profile_role']}"] = account_profile
614
+ account_profiles[f"{short_name}-{account_name}-{PROFILES[_type]['profile_role']}-mfa"] = account_profile
615
615
 
616
616
  logger.info("Backing up account profiles file.")
617
617
  shutil.copy(paths.aws_config_file, paths.aws_config_file.with_suffix(".bkp"))
@@ -322,7 +322,7 @@ def _init(tf: TFRunner, paths: PathsHandler, args: Sequence[str], working_dir: P
322
322
  )
323
323
  init_args = (*filtered_args, f"-backend-config={paths.backend_tfvars}")
324
324
 
325
- tf.run("init", *init_args, working_dir=working_dir)
325
+ tf.run("init", *tf_default_args(), *init_args, working_dir=working_dir)
326
326
 
327
327
 
328
328
  @authenticate
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "leverage"
3
- version = "2.2.0rc4"
3
+ version = "2.2.0rc5"
4
4
  description = "Binbash Leverage Command-Line tool."
5
5
  authors = ["BinBash Inc <leverage@binbash.com.ar>"]
6
6
  license = "MIT"
File without changes
File without changes