class_docstr: Class to retrieve IOCs from ThreatStream.com and store them in DynamoDB
docstr: Retrieve ThreatStream API credentials from Parameter Store
docstr_tok: ["Retrieve","ThreatStream","API","credentials","from","Parameter","Store"]
code: def _load_api_creds(self):
      """Retrieve ThreatStream API credentials from Parameter Store"""
      if self.api_user and self.api_key:
          return  # credentials already loaded from SSM
  
      try:
          ssm = boto3.client("ssm", self.region)
          response = ssm.get_parameter(
              Name=self.CRED_PARAMETER_NAME, WithDecryption=True
          )
      except ClientError:
          LOGGER.exception("Failed to get SSM parameters")
          raise
  
      if not response:
          raise ThreatStreamCredsError("Invalid response")
  
      try:
          decoded_creds = json.loads(response["Parameter"]["Value"])
      except ValueError:
          raise ThreatStreamCredsError(
              "Cannot load value for parameter with name "
              "'{}'. The value is not valid json: "
              "'{}'".format(
                  response["Parameter"]["Name"],
                  response["Parameter"]["Value"],
              )
          )
  
      self.api_user = decoded_creds["api_user"]
      self.api_key = decoded_creds["api_key"]
  
      if not (self.api_user and self.api_key):
          raise ThreatStreamCredsError("API Creds Error")
  
imports: from datetime import datetime, timedelta
  import json
  import backoff
  import boto3
  from botocore.exceptions import ClientError
  import requests
  from streamalert.shared.backoff_handlers import backoff_handler, success_handler, giveup_handler
  from streamalert.shared.config import load_config, parse_lambda_arn
  from streamalert.shared.logger import get_logger
  from streamalert.threat_intel_downloader.exceptions import ThreatStreamCredsError, ThreatStreamLambdaInvokeError, ThreatStreamRequestsError
label_desc: Use image node_id 3 for calling the ThreatStream obj's underlying member method code with example usage: obj._load_api_creds() without return types