Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def _display_page(self, response_data, use_basename=True):
common_prefixes = response_data.get('CommonPrefixes', [])
contents = response_data.get('Contents', [])
if not contents and not common_prefixes:
self._empty_result = True
return
for common_prefix in common_prefixes:
prefix_components = common_prefix['Prefix'].split('/')
prefix = prefix_components[-2]
pre_string = "PRE".rjust(30, " ")
print_str = pre_string + ' ' + prefix + '/\n'
uni_print(print_str)
for content in contents:
last_mod_str = self._make_last_mod_str(content['LastModified'])
self._size_accumulator += int(content['Size'])
self._total_objects += 1
size_str = self._make_size_str(content['Size'])
if use_basename:
filename_components = content['Key'].split('/')
filename = filename_components[-1]
else:
filename = content['Key']
print_str = last_mod_str + ' ' + size_str + ' ' + \
filename + '\n'
uni_print(print_str)
self._at_first_page = False
def _handle_multiple_roles(self, roles):
available_roles_msg = 'There are {} roles available to you.\n'
uni_print(available_roles_msg.format(len(roles)))
role_names = [r['roleName'] for r in roles]
sso_role_name = self._selector(role_names)
return sso_role_name
def _handle_single_account(self, accounts):
sso_account_id = accounts[0]['accountId']
single_account_msg = (
'The only AWS account available to you is: {}\n'
)
uni_print(single_account_msg.format(sso_account_id))
return sso_account_id
config_selector = KubeconfigSelector(
os.environ.get("KUBECONFIG", ""),
parsed_args.kubeconfig
)
config = config_selector.choose_kubeconfig(
new_cluster_dict["name"]
)
updating_existing = config.has_cluster(new_cluster_dict["name"])
appender = KubeconfigAppender()
new_context_dict = appender.insert_cluster_user_pair(config,
new_cluster_dict,
new_user_dict,
parsed_args.alias)
if parsed_args.dry_run:
uni_print(config.dump_content())
else:
writer = KubeconfigWriter()
writer.write_kubeconfig(config)
if updating_existing:
uni_print("Updated context {0} in {1}\n".format(
new_context_dict["name"], config.path
))
else:
uni_print("Added new context {0} to {1}\n".format(
new_context_dict["name"], config.path
))
if parsed_args.verbose:
self._display_entries([
new_context_dict,
def _import_csv(self, contents):
config_path = self._get_config_path()
credentials = self._csv_parser.parse_credentials(contents)
for credential in credentials:
self._importer.import_credential(
credential, config_path,
profile_prefix=self._profile_prefix,
)
import_msg = 'Successfully imported %s profile(s)\n' % len(credentials)
uni_print(import_msg, out_file=self._out_stream)
def _display_entries(self, entries):
"""
Display entries in yaml format
:param entries: a list of OrderedDicts to be printed
:type entries: list
"""
uni_print("Entries:\n\n")
for entry in entries:
uni_print(ordered_yaml_dump(entry))
uni_print("\n")
def _run_main(self, parsed_args, parsed_globals):
super(PresignCommand, self)._run_main(parsed_args, parsed_globals)
path = parsed_args.path
if path.startswith('s3://'):
path = path[5:]
bucket, key = find_bucket_key(path)
url = self.client.generate_presigned_url(
'get_object',
{'Bucket': bucket, 'Key': key},
ExpiresIn=parsed_args.expires_in
)
uni_print(url)
uni_print('\n')
return 0
def _display_entries(self, entries):
"""
Display entries in yaml format
:param entries: a list of OrderedDicts to be printed
:type entries: list
"""
uni_print("Entries:\n\n")
for entry in entries:
uni_print(ordered_yaml_dump(entry))
uni_print("\n")
# rfc3339 timestamp with expiration in 14 minutes as part of the token, which
# is used by some clients (client-go) who will refresh the token after 14 mins
token_expiration = self.get_expiration_time()
full_object = {
"kind": "ExecCredential",
"apiVersion": "client.authentication.k8s.io/v1alpha1",
"spec": {},
"status": {
"expirationTimestamp": token_expiration,
"token": token
}
}
uni_print(json.dumps(full_object))
uni_print('\n')
return 0
def _run_main(self, parsed_args, parsed_globals):
super(PresignCommand, self)._run_main(parsed_args, parsed_globals)
path = parsed_args.path
if path.startswith('s3://'):
path = path[5:]
bucket, key = find_bucket_key(path)
url = self.client.generate_presigned_url(
'get_object',
{'Bucket': bucket, 'Key': key},
ExpiresIn=parsed_args.expires_in
)
uni_print(url)
uni_print('\n')
return 0