outerbounds 0.9.0__py3-none-any.whl → 0.9.1__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.
@@ -126,7 +126,7 @@ def switch(config_dir=None, profile=None, output="", id=None, force=False):
126
126
  )
127
127
 
128
128
  try:
129
- ensure_cloud_credentials_for_shell(config_dir, profile)
129
+ ensure_cloud_credentials_for_shell(config_dir, profile, "")
130
130
  except:
131
131
  click.secho(
132
132
  "Failed to update cloud credentials.",
@@ -314,7 +314,13 @@ def list(config_dir=None, profile=None, output=""):
314
314
  help="Show output in the specified format.",
315
315
  type=click.Choice(["json", ""]),
316
316
  )
317
- def ensure_cloud_creds(config_dir=None, profile=None, output=""):
317
+ @click.option(
318
+ "-c",
319
+ "--cspr-override",
320
+ default="",
321
+ help="Override the CSPR role ARN to use for AWS credentials.",
322
+ )
323
+ def ensure_cloud_creds(config_dir=None, profile=None, output="", cspr_override=""):
318
324
  ensure_cloud_creds_step = CommandStatus(
319
325
  "EnsureCloudCredentials",
320
326
  OuterboundsCommandStatus.OK,
@@ -324,7 +330,7 @@ def ensure_cloud_creds(config_dir=None, profile=None, output=""):
324
330
  ensure_cloud_creds_response = OuterboundsCommandResponse()
325
331
 
326
332
  try:
327
- ensure_cloud_credentials_for_shell(config_dir, profile)
333
+ ensure_cloud_credentials_for_shell(config_dir, profile, cspr_override)
328
334
  click.secho("Cloud credentials updated successfully.", fg="green", err=True)
329
335
  except:
330
336
  click.secho(
@@ -430,7 +436,7 @@ def get_ob_config_or_fail_command(
430
436
  return ob_config_dict
431
437
 
432
438
 
433
- def ensure_cloud_credentials_for_shell(config_dir, profile):
439
+ def ensure_cloud_credentials_for_shell(config_dir, profile, cspr_override):
434
440
  if "WORKSTATION_ID" not in os.environ:
435
441
  # Naive check to see if we're running in workstation. No need to ensure anything
436
442
  # if this is not a workstation.
@@ -444,7 +450,7 @@ def ensure_cloud_credentials_for_shell(config_dir, profile):
444
450
  ensure_gcp_cloud_creds(config_dir, profile)
445
451
  elif "METAFLOW_DEFAULT_AWS_CLIENT_PROVIDER" in mf_config:
446
452
  # This is an AWS deployment.
447
- ensure_aws_cloud_creds(config_dir, profile)
453
+ ensure_aws_cloud_creds(config_dir, profile, cspr_override)
448
454
 
449
455
 
450
456
  def confirm_user_has_access_to_perimeter_or_fail(
@@ -502,7 +508,7 @@ def ensure_gcp_cloud_creds(config_dir, profile):
502
508
  safe_write_to_disk(credentials_file_loc, json.dumps(credentials_json))
503
509
 
504
510
 
505
- def ensure_aws_cloud_creds(config_dir, profile):
511
+ def ensure_aws_cloud_creds(config_dir, profile, cspr_override):
506
512
  token_info = get_aws_auth_credentials(config_dir, profile)
507
513
 
508
514
  try:
@@ -523,11 +529,11 @@ def ensure_aws_cloud_creds(config_dir, profile):
523
529
  "web_identity_token_file": token_file_loc,
524
530
  }
525
531
 
526
- if token_info.get("cspr_role_arn"):
532
+ if token_info.get("cspr_role_arn") or cspr_override:
527
533
  # If CSPR role is present, then we need to use the task role (in the task profile)
528
534
  # to assume the CSPR role.
529
535
  aws_config["profile outerbounds"] = {
530
- "role_arn": token_info["cspr_role_arn"],
536
+ "role_arn": cspr_override or token_info["cspr_role_arn"],
531
537
  "source_profile": "task",
532
538
  }
533
539
  else:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: outerbounds
3
- Version: 0.9.0
3
+ Version: 0.9.1
4
4
  Summary: More Data Science, Less Administration
5
5
  License: Proprietary
6
6
  Keywords: data science,machine learning,MLOps
@@ -30,7 +30,7 @@ Requires-Dist: google-cloud-storage (>=2.14.0,<3.0.0) ; extra == "gcp"
30
30
  Requires-Dist: metaflow_checkpoint (==0.2.4)
31
31
  Requires-Dist: ob-metaflow (==2.18.0.1)
32
32
  Requires-Dist: ob-metaflow-extensions (==1.4.9)
33
- Requires-Dist: ob-metaflow-stubs (==6.0.9.0)
33
+ Requires-Dist: ob-metaflow-stubs (==6.0.9.1)
34
34
  Requires-Dist: ob-project-utils (==0.1.35)
35
35
  Requires-Dist: opentelemetry-distro (>=0.41b0) ; extra == "otel"
36
36
  Requires-Dist: opentelemetry-exporter-otlp-proto-http (>=1.20.0) ; extra == "otel"
@@ -48,7 +48,7 @@ outerbounds/command_groups/fast_bakery_cli.py,sha256=5kja7v6C651XAY6dsP_IkBPJQgf
48
48
  outerbounds/command_groups/flowprojects_cli.py,sha256=gFAA_zUIyhD092Hd7IW5InuIxOqdwRJsHgyWQjy8LZw,3792
49
49
  outerbounds/command_groups/kubernetes_cli.py,sha256=2bxPKUp5g_gdwVo4lT-IeWvHxz6Jmj1KxG70nXNgX_M,14758
50
50
  outerbounds/command_groups/local_setup_cli.py,sha256=tuuqJRXQ_guEwOuQSIf9wkUU0yg8yAs31myGViAK15s,36364
51
- outerbounds/command_groups/perimeters_cli.py,sha256=iF_Uw7ROiSctf6FgoJEy30iDBLVE1j9FKuR3shgJRmc,19050
51
+ outerbounds/command_groups/perimeters_cli.py,sha256=z8vwEpNgRXMIMAWltpdaQD72fYGld-mUkcTHrkmkCyk,19299
52
52
  outerbounds/command_groups/secrets_cli.py,sha256=Vgn_aiTo76a0s5hCJhNWEOrCVhyYeivD08ooQxz0y7c,2952
53
53
  outerbounds/command_groups/tutorials_cli.py,sha256=UInFyiMqtscHFfi8YQwiY_6Sdw9quJOtRu5OukEBccw,3522
54
54
  outerbounds/command_groups/workstations_cli.py,sha256=W3OFmInYUfd7Gl3baXIIleZWx6NI3bSeXAqCZ-uvYfA,27901
@@ -60,7 +60,7 @@ outerbounds/utils/schema.py,sha256=lMUr9kNgn9wy-sO_t_Tlxmbt63yLeN4b0xQXbDUDj4A,2
60
60
  outerbounds/utils/ssh_utils.py,sha256=MRJ7Oy0M7Lqqs397JDJczTYvxvyHJ_XvBdjt4ZYKaPE,19599
61
61
  outerbounds/utils/utils.py,sha256=4Z8cszNob_8kDYCLNTrP-wWads_S_MdL3Uj3ju4mEsk,501
62
62
  outerbounds/vendor.py,sha256=gRLRJNXtZBeUpPEog0LOeIsl6GosaFFbCxUvR4bW6IQ,5093
63
- outerbounds-0.9.0.dist-info/METADATA,sha256=ZXOyjiIoT1aBkxAV4-eHK4IZLWX0nSTxB5cuMS0FPx0,1873
64
- outerbounds-0.9.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
65
- outerbounds-0.9.0.dist-info/entry_points.txt,sha256=AP6rZg7y5SK9e9a9iVq0Fi9Q2KPjPZSwtZ6R98rLw-8,56
66
- outerbounds-0.9.0.dist-info/RECORD,,
63
+ outerbounds-0.9.1.dist-info/METADATA,sha256=LtvEYI1WRfyW1cWu_yEuZp0Jo7xneT0FZKnrfzGIgNw,1873
64
+ outerbounds-0.9.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
65
+ outerbounds-0.9.1.dist-info/entry_points.txt,sha256=AP6rZg7y5SK9e9a9iVq0Fi9Q2KPjPZSwtZ6R98rLw-8,56
66
+ outerbounds-0.9.1.dist-info/RECORD,,