libZSservicesZSamazonka-s3ZSamazonka-s3
Copyright(c) 2013-2021 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay+amazonka@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone

Amazonka.S3.PutBucketWebsite

Description

Sets the configuration of the website that is specified in the website subresource. To configure a bucket as a website, you can add this subresource on the bucket with website configuration information such as the file name of the index document and any redirect rules. For more information, see Hosting Websites on Amazon S3.

This PUT action requires the S3:PutBucketWebsite permission. By default, only the bucket owner can configure the website attached to a bucket; however, bucket owners can allow other users to set the website configuration by writing a bucket policy that grants them the S3:PutBucketWebsite permission.

To redirect all website requests sent to the bucket's website endpoint, you add a website configuration with the following elements. Because all requests are sent to another website, you don't need to provide index document name for the bucket.

  • WebsiteConfiguration
  • RedirectAllRequestsTo
  • HostName
  • Protocol

If you want granular control over redirects, you can use the following elements to add routing rules that describe conditions for redirecting requests and information about the redirect destination. In this case, the website configuration must provide an index document for the bucket, because some requests might not be redirected.

  • WebsiteConfiguration
  • IndexDocument
  • Suffix
  • ErrorDocument
  • Key
  • RoutingRules
  • RoutingRule
  • Condition
  • HttpErrorCodeReturnedEquals
  • KeyPrefixEquals
  • Redirect
  • Protocol
  • HostName
  • ReplaceKeyPrefixWith
  • ReplaceKeyWith
  • HttpRedirectCode

Amazon S3 has a limitation of 50 routing rules per website configuration. If you require more than 50 routing rules, you can use object redirect. For more information, see Configuring an Object Redirect in the Amazon S3 User Guide.

Synopsis

Creating a Request

data PutBucketWebsite Source #

See: newPutBucketWebsite smart constructor.

Constructors

PutBucketWebsite' 

Fields

  • contentMD5 :: Maybe Text

    The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message integrity check to verify that the request body was not corrupted in transit. For more information, see RFC 1864.

    For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

  • expectedBucketOwner :: Maybe Text

    The account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

  • bucket :: BucketName

    The bucket name.

  • websiteConfiguration :: WebsiteConfiguration

    Container for the request.

Instances

Instances details
Eq PutBucketWebsite Source # 
Instance details

Defined in Amazonka.S3.PutBucketWebsite

Read PutBucketWebsite Source # 
Instance details

Defined in Amazonka.S3.PutBucketWebsite

Show PutBucketWebsite Source # 
Instance details

Defined in Amazonka.S3.PutBucketWebsite

Generic PutBucketWebsite Source # 
Instance details

Defined in Amazonka.S3.PutBucketWebsite

Associated Types

type Rep PutBucketWebsite :: Type -> Type #

NFData PutBucketWebsite Source # 
Instance details

Defined in Amazonka.S3.PutBucketWebsite

Methods

rnf :: PutBucketWebsite -> () #

Hashable PutBucketWebsite Source # 
Instance details

Defined in Amazonka.S3.PutBucketWebsite

AWSRequest PutBucketWebsite Source # 
Instance details

Defined in Amazonka.S3.PutBucketWebsite

Associated Types

type AWSResponse PutBucketWebsite #

ToHeaders PutBucketWebsite Source # 
Instance details

Defined in Amazonka.S3.PutBucketWebsite

ToPath PutBucketWebsite Source # 
Instance details

Defined in Amazonka.S3.PutBucketWebsite

ToQuery PutBucketWebsite Source # 
Instance details

Defined in Amazonka.S3.PutBucketWebsite

ToElement PutBucketWebsite Source # 
Instance details

Defined in Amazonka.S3.PutBucketWebsite

type Rep PutBucketWebsite Source # 
Instance details

Defined in Amazonka.S3.PutBucketWebsite

type Rep PutBucketWebsite = D1 ('MetaData "PutBucketWebsite" "Amazonka.S3.PutBucketWebsite" "libZSservicesZSamazonka-s3ZSamazonka-s3" 'False) (C1 ('MetaCons "PutBucketWebsite'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "contentMD5") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "expectedBucketOwner") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "bucket") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 BucketName) :*: S1 ('MetaSel ('Just "websiteConfiguration") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 WebsiteConfiguration))))
type AWSResponse PutBucketWebsite Source # 
Instance details

Defined in Amazonka.S3.PutBucketWebsite

newPutBucketWebsite Source #

Create a value of PutBucketWebsite with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:contentMD5:PutBucketWebsite', putBucketWebsite_contentMD5 - The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message integrity check to verify that the request body was not corrupted in transit. For more information, see RFC 1864.

For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

$sel:expectedBucketOwner:PutBucketWebsite', putBucketWebsite_expectedBucketOwner - The account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

$sel:bucket:PutBucketWebsite', putBucketWebsite_bucket - The bucket name.

$sel:websiteConfiguration:PutBucketWebsite', putBucketWebsite_websiteConfiguration - Container for the request.

Request Lenses

putBucketWebsite_contentMD5 :: Lens' PutBucketWebsite (Maybe Text) Source #

The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message integrity check to verify that the request body was not corrupted in transit. For more information, see RFC 1864.

For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

putBucketWebsite_expectedBucketOwner :: Lens' PutBucketWebsite (Maybe Text) Source #

The account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

Destructuring the Response

data PutBucketWebsiteResponse Source #

See: newPutBucketWebsiteResponse smart constructor.

Instances

Instances details
Eq PutBucketWebsiteResponse Source # 
Instance details

Defined in Amazonka.S3.PutBucketWebsite

Read PutBucketWebsiteResponse Source # 
Instance details

Defined in Amazonka.S3.PutBucketWebsite

Show PutBucketWebsiteResponse Source # 
Instance details

Defined in Amazonka.S3.PutBucketWebsite

Generic PutBucketWebsiteResponse Source # 
Instance details

Defined in Amazonka.S3.PutBucketWebsite

Associated Types

type Rep PutBucketWebsiteResponse :: Type -> Type #

NFData PutBucketWebsiteResponse Source # 
Instance details

Defined in Amazonka.S3.PutBucketWebsite

type Rep PutBucketWebsiteResponse Source # 
Instance details

Defined in Amazonka.S3.PutBucketWebsite

type Rep PutBucketWebsiteResponse = D1 ('MetaData "PutBucketWebsiteResponse" "Amazonka.S3.PutBucketWebsite" "libZSservicesZSamazonka-s3ZSamazonka-s3" 'False) (C1 ('MetaCons "PutBucketWebsiteResponse'" 'PrefixI 'False) (U1 :: Type -> Type))

newPutBucketWebsiteResponse :: PutBucketWebsiteResponse Source #

Create a value of PutBucketWebsiteResponse with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.