'Configure this bucket to act as a website
:type main_page_suffix: str
:param main_page_suffix: Suffix that is appended to a request that is
for a "directory" on the website endpoint (e.g. if the suffix is
index.html and you make a request to samplebucket/images/ the data
that is returned will be for the object with the key name
images/index.html). The suffix must not be empty and must not
include a slash character. This parameter is optional and the
property is disabled if excluded.
:type error_key: str
:param error_key: The object key name to use when a 400 error occurs.
This parameter is optional and the property is disabled if excluded.
:param dict headers: Additional headers to send with the request.'

def configure_website(self, main_page_suffix=None, error_key=None, headers=None):

    if main_page_suffix:
        main_page_frag = (self.WebsiteMainPageFragment % main_page_suffix)
    else:
        main_page_frag = ''
    if error_key:
        error_frag = (self.WebsiteErrorFragment % error_key)
    else:
        error_frag = ''
    body = (self.WebsiteBody % (main_page_frag, error_frag))
    response = self.connection.make_request('PUT', get_utf8_value(self.name), data=get_utf8_value(body), query_args='websiteConfig', headers=headers)
    body = response.read()
    if (response.status == 200):
        return True
    else:
        raise self.connection.provider.storage_response_error(response.status, response.reason, body)
