in awscli/customizations/codeartifact/login.py [0:0]
def login(self, dry_run=False):
try:
source_to_url_dict = self._get_source_to_url_dict()
except OSError as ex:
if ex.errno == errno.ENOENT:
raise ValueError(
self._TOOL_NOT_FOUND_MESSAGE % self._get_tool_name()
)
raise ex
nuget_index_url = self._NUGET_INDEX_URL_FMT.format(
endpoint=self.repository_endpoint
)
source_name, already_exists = self._get_source_name(
nuget_index_url, source_to_url_dict
)
if already_exists:
command = self._get_configure_command(
'update', nuget_index_url, source_name
)
source_configured_message = self._SOURCE_UPDATED_MESSAGE
else:
command = self._get_configure_command('add', nuget_index_url, source_name)
source_configured_message = self._SOURCE_ADDED_MESSAGE
if dry_run:
dry_run_command = ' '.join([str(cd) for cd in command])
uni_print(dry_run_command)
uni_print('\n')
return
try:
self.subprocess_utils.run(
command,
capture_output=True,
check=True
)
except subprocess.CalledProcessError as e:
uni_print('Failed to update the NuGet.Config\n')
raise CommandFailedError(e, self.auth_token)
uni_print(source_configured_message % source_name)
self._write_success_message('nuget')