in cli/aws_orbit/commands/list.py [0:0]
def list_env(env: str, variable: str) -> None:
ssm = utils.boto3_client("ssm")
res = ssm.get_parameters_by_path(Path="/orbit", Recursive=True)
env_info: Dict[str, Any] = {}
if env and len(env) > 0:
_logger.debug(f"looking for {env}")
while True:
params = res["Parameters"]
for p in params:
if not p["Name"].endswith("context") or "teams" in p["Name"]:
continue
env_name = p["Name"].split("/")[2]
if len(env) > 0 and not env_name == env:
continue
env_name = p["Name"].split("/")[2]
context: "Context" = ContextSerDe.load_context_from_ssm(env_name=env_name, type=Context)
_logger.debug(f"found env: {env_name}")
if len(context.teams) > 0:
teams_list: List[str] = [x.name for x in context.teams]
else:
teams_list = []
if variable == "landing-page":
print(context.landing_page_url)
elif variable == "toolkitbucket":
print(context.toolkit.s3_bucket)
elif variable == "all":
env_info[env_name] = {
"LandingPage": f"{context.landing_page_url}/orbit/login",
"Teams": teams_list,
"ToolkitBucket": context.toolkit.s3_bucket,
}
else:
raise Exception(f"Unknown --variable option {variable}")
if "NextToken" in res:
res = ssm.get_parameters_by_path(Path="/orbit", Recursive=True, NextToken=res["NextToken"])
else:
break
if variable == "all":
if len(env_info) == 0:
click.echo("There are no Orbit environments available")
return
else:
print("Available Orbit environments:")
print(json.dumps(env_info, indent=4, sort_keys=True))