Exemple #1
0
    def list_keys(self, s: TextIO) -> None:
        def color_id(k: IAMKey) -> str:
            if not k.user_managed:
                color = GREY
            elif k.expired():
                color = ERROR_RED
            elif not k.recently_created():
                color = WARNING_YELLOW
            else:
                color = OK_GREEN
            return f'{color}{k.id}{ENDC}'

        s.write(f'{self}\n')
        for k in self.keys:
            s.write(
                f'{color_id(k)} \t Created: {k.created_readable} \t Expires: {k.expiration_readable}'
            )
            matching_secrets = [
                str(s) for s in self.kube_secrets if s.matches_iam_key(k)
            ]
            if len(matching_secrets) > 0:
                s.write(f'\t <== {" ".join(matching_secrets)}')
            s.write('\n')