def validate_aws_credential()

in src/hyperpod_cli/validators/validator.py [0:0]


    def validate_aws_credential(self, session: boto3.Session) -> bool:
        """
        Validate AWS credentials to ensure AWS credentials configured
        a valida credential exist in current session

        Returns:
            bool: True aws credentials are valid, False otherwise.
        """
        try:
            # Check if credentials are available
            credentials = session.get_credentials()
            if not credentials:
                logger.error(
                    "No AWS credentials found. Please configure your AWS credentials."
                )
                return False

            # Get an STS client to check the credentials
            sts = session.client("sts")

            # Call get_caller_identity to validate credentials
            sts.get_caller_identity()

            logger.debug("AWS credentials are valid.")
            return True
        except (NoCredentialsError, PartialCredentialsError) as e:
            logger.error(f"No AWS credentials or partial AWS credentials provided: {e}")
            return False
        except ClientError as e:
            error_code = e.response["Error"]["Code"]
            if error_code == "ExpiredToken":
                logger.error(
                    "AWS credentials have expired. Please refresh your AWS "
                    "credentials"
                )
            else:
                logger.error(f"Get credentials AWS client error: {e}")
            return False
        except Exception as e:
            logger.error(f"Unexpected error to get AWS credentials: {e}")
            return False