docstr: Determines if given bucket exists with correct permissions.
  
  See:
      https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketHEAD.html
  
  Args:
      bucket (str): AWS S3 bucket name
      region (str): AWS Region
  
  Returns:
      bool: True on success
  
  Raises:
      ClientError; Raises when the bucket does not exist or is denying permission to access.
docstr_tok: ["Determines","if","given","bucket","exists","with","correct","permissions",".","See",":","https",":","\/\/docs.aws.amazon.com\/AmazonS3\/latest\/API\/RESTBucketHEAD.html","Args",":","bucket","(","str",")",":","AWS","S3","bucket","name","region","(","str",")",":","AWS","Region","Returns",":","bool",":","True","on","success","Raises",":","ClientError",";","Raises","when","the","bucket","does","not","exist","or","is","denying","permission","to","access","."]
code: def head_bucket(bucket, region):
      """Determines if given bucket exists with correct permissions.
  
      See:
          https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketHEAD.html
  
      Args:
          bucket (str): AWS S3 bucket name
          region (str): AWS Region
  
      Returns:
          bool: True on success
  
      Raises:
          ClientError; Raises when the bucket does not exist or is denying permission to access.
      """
      try:
          client = boto3.client(
              "s3", config=default_config(region=region)
          )
          client.head_bucket(Bucket=bucket)
      except ClientError:
          LOGGER.error("An error occurred during S3 HeadBucket")
          raise
  
file_path: streamalert/streamalert/shared/helpers/aws_api_client.py
imports: import json
  import boto3
  from botocore.exceptions import ClientError
  from streamalert.shared.helpers.boto import default_config
  from streamalert.shared.logger import get_logger
label_desc: Use image node_id 1 for calling the AwsS3 obj's underlying member method code with example usage: obj.head_bucket(bucket, region) without return types