{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.S3.CreateBucket
(
CreateBucket (..),
newCreateBucket,
createBucket_acl,
createBucket_createBucketConfiguration,
createBucket_grantFullControl,
createBucket_grantRead,
createBucket_grantReadACP,
createBucket_grantWrite,
createBucket_grantWriteACP,
createBucket_objectLockEnabledForBucket,
createBucket_objectOwnership,
createBucket_bucket,
CreateBucketResponse (..),
newCreateBucketResponse,
createBucketResponse_location,
createBucketResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.S3.Types
data CreateBucket = CreateBucket'
{
CreateBucket -> Maybe BucketCannedACL
acl :: Prelude.Maybe BucketCannedACL,
CreateBucket -> Maybe CreateBucketConfiguration
createBucketConfiguration :: Prelude.Maybe CreateBucketConfiguration,
CreateBucket -> Maybe Text
grantFullControl :: Prelude.Maybe Prelude.Text,
CreateBucket -> Maybe Text
grantRead :: Prelude.Maybe Prelude.Text,
CreateBucket -> Maybe Text
grantReadACP :: Prelude.Maybe Prelude.Text,
CreateBucket -> Maybe Text
grantWrite :: Prelude.Maybe Prelude.Text,
CreateBucket -> Maybe Text
grantWriteACP :: Prelude.Maybe Prelude.Text,
CreateBucket -> Maybe Bool
objectLockEnabledForBucket :: Prelude.Maybe Prelude.Bool,
CreateBucket -> Maybe ObjectOwnership
objectOwnership :: Prelude.Maybe ObjectOwnership,
CreateBucket -> BucketName
bucket :: BucketName
}
deriving (CreateBucket -> CreateBucket -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateBucket -> CreateBucket -> Bool
$c/= :: CreateBucket -> CreateBucket -> Bool
== :: CreateBucket -> CreateBucket -> Bool
$c== :: CreateBucket -> CreateBucket -> Bool
Prelude.Eq, ReadPrec [CreateBucket]
ReadPrec CreateBucket
Int -> ReadS CreateBucket
ReadS [CreateBucket]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateBucket]
$creadListPrec :: ReadPrec [CreateBucket]
readPrec :: ReadPrec CreateBucket
$creadPrec :: ReadPrec CreateBucket
readList :: ReadS [CreateBucket]
$creadList :: ReadS [CreateBucket]
readsPrec :: Int -> ReadS CreateBucket
$creadsPrec :: Int -> ReadS CreateBucket
Prelude.Read, Int -> CreateBucket -> ShowS
[CreateBucket] -> ShowS
CreateBucket -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateBucket] -> ShowS
$cshowList :: [CreateBucket] -> ShowS
show :: CreateBucket -> String
$cshow :: CreateBucket -> String
showsPrec :: Int -> CreateBucket -> ShowS
$cshowsPrec :: Int -> CreateBucket -> ShowS
Prelude.Show, forall x. Rep CreateBucket x -> CreateBucket
forall x. CreateBucket -> Rep CreateBucket x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateBucket x -> CreateBucket
$cfrom :: forall x. CreateBucket -> Rep CreateBucket x
Prelude.Generic)
newCreateBucket ::
BucketName ->
CreateBucket
newCreateBucket :: BucketName -> CreateBucket
newCreateBucket BucketName
pBucket_ =
CreateBucket'
{ $sel:acl:CreateBucket' :: Maybe BucketCannedACL
acl = forall a. Maybe a
Prelude.Nothing,
$sel:createBucketConfiguration:CreateBucket' :: Maybe CreateBucketConfiguration
createBucketConfiguration = forall a. Maybe a
Prelude.Nothing,
$sel:grantFullControl:CreateBucket' :: Maybe Text
grantFullControl = forall a. Maybe a
Prelude.Nothing,
$sel:grantRead:CreateBucket' :: Maybe Text
grantRead = forall a. Maybe a
Prelude.Nothing,
$sel:grantReadACP:CreateBucket' :: Maybe Text
grantReadACP = forall a. Maybe a
Prelude.Nothing,
$sel:grantWrite:CreateBucket' :: Maybe Text
grantWrite = forall a. Maybe a
Prelude.Nothing,
$sel:grantWriteACP:CreateBucket' :: Maybe Text
grantWriteACP = forall a. Maybe a
Prelude.Nothing,
$sel:objectLockEnabledForBucket:CreateBucket' :: Maybe Bool
objectLockEnabledForBucket = forall a. Maybe a
Prelude.Nothing,
$sel:objectOwnership:CreateBucket' :: Maybe ObjectOwnership
objectOwnership = forall a. Maybe a
Prelude.Nothing,
$sel:bucket:CreateBucket' :: BucketName
bucket = BucketName
pBucket_
}
createBucket_acl :: Lens.Lens' CreateBucket (Prelude.Maybe BucketCannedACL)
createBucket_acl :: Lens' CreateBucket (Maybe BucketCannedACL)
createBucket_acl = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBucket' {Maybe BucketCannedACL
acl :: Maybe BucketCannedACL
$sel:acl:CreateBucket' :: CreateBucket -> Maybe BucketCannedACL
acl} -> Maybe BucketCannedACL
acl) (\s :: CreateBucket
s@CreateBucket' {} Maybe BucketCannedACL
a -> CreateBucket
s {$sel:acl:CreateBucket' :: Maybe BucketCannedACL
acl = Maybe BucketCannedACL
a} :: CreateBucket)
createBucket_createBucketConfiguration :: Lens.Lens' CreateBucket (Prelude.Maybe CreateBucketConfiguration)
createBucket_createBucketConfiguration :: Lens' CreateBucket (Maybe CreateBucketConfiguration)
createBucket_createBucketConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBucket' {Maybe CreateBucketConfiguration
createBucketConfiguration :: Maybe CreateBucketConfiguration
$sel:createBucketConfiguration:CreateBucket' :: CreateBucket -> Maybe CreateBucketConfiguration
createBucketConfiguration} -> Maybe CreateBucketConfiguration
createBucketConfiguration) (\s :: CreateBucket
s@CreateBucket' {} Maybe CreateBucketConfiguration
a -> CreateBucket
s {$sel:createBucketConfiguration:CreateBucket' :: Maybe CreateBucketConfiguration
createBucketConfiguration = Maybe CreateBucketConfiguration
a} :: CreateBucket)
createBucket_grantFullControl :: Lens.Lens' CreateBucket (Prelude.Maybe Prelude.Text)
createBucket_grantFullControl :: Lens' CreateBucket (Maybe Text)
createBucket_grantFullControl = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBucket' {Maybe Text
grantFullControl :: Maybe Text
$sel:grantFullControl:CreateBucket' :: CreateBucket -> Maybe Text
grantFullControl} -> Maybe Text
grantFullControl) (\s :: CreateBucket
s@CreateBucket' {} Maybe Text
a -> CreateBucket
s {$sel:grantFullControl:CreateBucket' :: Maybe Text
grantFullControl = Maybe Text
a} :: CreateBucket)
createBucket_grantRead :: Lens.Lens' CreateBucket (Prelude.Maybe Prelude.Text)
createBucket_grantRead :: Lens' CreateBucket (Maybe Text)
createBucket_grantRead = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBucket' {Maybe Text
grantRead :: Maybe Text
$sel:grantRead:CreateBucket' :: CreateBucket -> Maybe Text
grantRead} -> Maybe Text
grantRead) (\s :: CreateBucket
s@CreateBucket' {} Maybe Text
a -> CreateBucket
s {$sel:grantRead:CreateBucket' :: Maybe Text
grantRead = Maybe Text
a} :: CreateBucket)
createBucket_grantReadACP :: Lens.Lens' CreateBucket (Prelude.Maybe Prelude.Text)
createBucket_grantReadACP :: Lens' CreateBucket (Maybe Text)
createBucket_grantReadACP = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBucket' {Maybe Text
grantReadACP :: Maybe Text
$sel:grantReadACP:CreateBucket' :: CreateBucket -> Maybe Text
grantReadACP} -> Maybe Text
grantReadACP) (\s :: CreateBucket
s@CreateBucket' {} Maybe Text
a -> CreateBucket
s {$sel:grantReadACP:CreateBucket' :: Maybe Text
grantReadACP = Maybe Text
a} :: CreateBucket)
createBucket_grantWrite :: Lens.Lens' CreateBucket (Prelude.Maybe Prelude.Text)
createBucket_grantWrite :: Lens' CreateBucket (Maybe Text)
createBucket_grantWrite = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBucket' {Maybe Text
grantWrite :: Maybe Text
$sel:grantWrite:CreateBucket' :: CreateBucket -> Maybe Text
grantWrite} -> Maybe Text
grantWrite) (\s :: CreateBucket
s@CreateBucket' {} Maybe Text
a -> CreateBucket
s {$sel:grantWrite:CreateBucket' :: Maybe Text
grantWrite = Maybe Text
a} :: CreateBucket)
createBucket_grantWriteACP :: Lens.Lens' CreateBucket (Prelude.Maybe Prelude.Text)
createBucket_grantWriteACP :: Lens' CreateBucket (Maybe Text)
createBucket_grantWriteACP = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBucket' {Maybe Text
grantWriteACP :: Maybe Text
$sel:grantWriteACP:CreateBucket' :: CreateBucket -> Maybe Text
grantWriteACP} -> Maybe Text
grantWriteACP) (\s :: CreateBucket
s@CreateBucket' {} Maybe Text
a -> CreateBucket
s {$sel:grantWriteACP:CreateBucket' :: Maybe Text
grantWriteACP = Maybe Text
a} :: CreateBucket)
createBucket_objectLockEnabledForBucket :: Lens.Lens' CreateBucket (Prelude.Maybe Prelude.Bool)
createBucket_objectLockEnabledForBucket :: Lens' CreateBucket (Maybe Bool)
createBucket_objectLockEnabledForBucket = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBucket' {Maybe Bool
objectLockEnabledForBucket :: Maybe Bool
$sel:objectLockEnabledForBucket:CreateBucket' :: CreateBucket -> Maybe Bool
objectLockEnabledForBucket} -> Maybe Bool
objectLockEnabledForBucket) (\s :: CreateBucket
s@CreateBucket' {} Maybe Bool
a -> CreateBucket
s {$sel:objectLockEnabledForBucket:CreateBucket' :: Maybe Bool
objectLockEnabledForBucket = Maybe Bool
a} :: CreateBucket)
createBucket_objectOwnership :: Lens.Lens' CreateBucket (Prelude.Maybe ObjectOwnership)
createBucket_objectOwnership :: Lens' CreateBucket (Maybe ObjectOwnership)
createBucket_objectOwnership = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBucket' {Maybe ObjectOwnership
objectOwnership :: Maybe ObjectOwnership
$sel:objectOwnership:CreateBucket' :: CreateBucket -> Maybe ObjectOwnership
objectOwnership} -> Maybe ObjectOwnership
objectOwnership) (\s :: CreateBucket
s@CreateBucket' {} Maybe ObjectOwnership
a -> CreateBucket
s {$sel:objectOwnership:CreateBucket' :: Maybe ObjectOwnership
objectOwnership = Maybe ObjectOwnership
a} :: CreateBucket)
createBucket_bucket :: Lens.Lens' CreateBucket BucketName
createBucket_bucket :: Lens' CreateBucket BucketName
createBucket_bucket = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBucket' {BucketName
bucket :: BucketName
$sel:bucket:CreateBucket' :: CreateBucket -> BucketName
bucket} -> BucketName
bucket) (\s :: CreateBucket
s@CreateBucket' {} BucketName
a -> CreateBucket
s {$sel:bucket:CreateBucket' :: BucketName
bucket = BucketName
a} :: CreateBucket)
instance Core.AWSRequest CreateBucket where
type AWSResponse CreateBucket = CreateBucketResponse
request :: (Service -> Service) -> CreateBucket -> Request CreateBucket
request Service -> Service
overrides =
forall a. Request a -> Request a
Request.s3vhost
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a. (ToRequest a, ToElement a) => Service -> a -> Request a
Request.putXML (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy CreateBucket
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse CreateBucket)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Maybe Text -> Int -> CreateBucketResponse
CreateBucketResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (ResponseHeaders
h forall a.
FromText a =>
ResponseHeaders -> HeaderName -> Either String (Maybe a)
Data..#? HeaderName
"Location")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable CreateBucket where
hashWithSalt :: Int -> CreateBucket -> Int
hashWithSalt Int
_salt CreateBucket' {Maybe Bool
Maybe Text
Maybe BucketCannedACL
Maybe CreateBucketConfiguration
Maybe ObjectOwnership
BucketName
bucket :: BucketName
objectOwnership :: Maybe ObjectOwnership
objectLockEnabledForBucket :: Maybe Bool
grantWriteACP :: Maybe Text
grantWrite :: Maybe Text
grantReadACP :: Maybe Text
grantRead :: Maybe Text
grantFullControl :: Maybe Text
createBucketConfiguration :: Maybe CreateBucketConfiguration
acl :: Maybe BucketCannedACL
$sel:bucket:CreateBucket' :: CreateBucket -> BucketName
$sel:objectOwnership:CreateBucket' :: CreateBucket -> Maybe ObjectOwnership
$sel:objectLockEnabledForBucket:CreateBucket' :: CreateBucket -> Maybe Bool
$sel:grantWriteACP:CreateBucket' :: CreateBucket -> Maybe Text
$sel:grantWrite:CreateBucket' :: CreateBucket -> Maybe Text
$sel:grantReadACP:CreateBucket' :: CreateBucket -> Maybe Text
$sel:grantRead:CreateBucket' :: CreateBucket -> Maybe Text
$sel:grantFullControl:CreateBucket' :: CreateBucket -> Maybe Text
$sel:createBucketConfiguration:CreateBucket' :: CreateBucket -> Maybe CreateBucketConfiguration
$sel:acl:CreateBucket' :: CreateBucket -> Maybe BucketCannedACL
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe BucketCannedACL
acl
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe CreateBucketConfiguration
createBucketConfiguration
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
grantFullControl
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
grantRead
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
grantReadACP
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
grantWrite
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
grantWriteACP
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
objectLockEnabledForBucket
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ObjectOwnership
objectOwnership
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` BucketName
bucket
instance Prelude.NFData CreateBucket where
rnf :: CreateBucket -> ()
rnf CreateBucket' {Maybe Bool
Maybe Text
Maybe BucketCannedACL
Maybe CreateBucketConfiguration
Maybe ObjectOwnership
BucketName
bucket :: BucketName
objectOwnership :: Maybe ObjectOwnership
objectLockEnabledForBucket :: Maybe Bool
grantWriteACP :: Maybe Text
grantWrite :: Maybe Text
grantReadACP :: Maybe Text
grantRead :: Maybe Text
grantFullControl :: Maybe Text
createBucketConfiguration :: Maybe CreateBucketConfiguration
acl :: Maybe BucketCannedACL
$sel:bucket:CreateBucket' :: CreateBucket -> BucketName
$sel:objectOwnership:CreateBucket' :: CreateBucket -> Maybe ObjectOwnership
$sel:objectLockEnabledForBucket:CreateBucket' :: CreateBucket -> Maybe Bool
$sel:grantWriteACP:CreateBucket' :: CreateBucket -> Maybe Text
$sel:grantWrite:CreateBucket' :: CreateBucket -> Maybe Text
$sel:grantReadACP:CreateBucket' :: CreateBucket -> Maybe Text
$sel:grantRead:CreateBucket' :: CreateBucket -> Maybe Text
$sel:grantFullControl:CreateBucket' :: CreateBucket -> Maybe Text
$sel:createBucketConfiguration:CreateBucket' :: CreateBucket -> Maybe CreateBucketConfiguration
$sel:acl:CreateBucket' :: CreateBucket -> Maybe BucketCannedACL
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe BucketCannedACL
acl
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe CreateBucketConfiguration
createBucketConfiguration
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
grantFullControl
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
grantRead
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
grantReadACP
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
grantWrite
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
grantWriteACP
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
objectLockEnabledForBucket
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ObjectOwnership
objectOwnership
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf BucketName
bucket
instance Data.ToElement CreateBucket where
toElement :: CreateBucket -> Element
toElement CreateBucket' {Maybe Bool
Maybe Text
Maybe BucketCannedACL
Maybe CreateBucketConfiguration
Maybe ObjectOwnership
BucketName
bucket :: BucketName
objectOwnership :: Maybe ObjectOwnership
objectLockEnabledForBucket :: Maybe Bool
grantWriteACP :: Maybe Text
grantWrite :: Maybe Text
grantReadACP :: Maybe Text
grantRead :: Maybe Text
grantFullControl :: Maybe Text
createBucketConfiguration :: Maybe CreateBucketConfiguration
acl :: Maybe BucketCannedACL
$sel:bucket:CreateBucket' :: CreateBucket -> BucketName
$sel:objectOwnership:CreateBucket' :: CreateBucket -> Maybe ObjectOwnership
$sel:objectLockEnabledForBucket:CreateBucket' :: CreateBucket -> Maybe Bool
$sel:grantWriteACP:CreateBucket' :: CreateBucket -> Maybe Text
$sel:grantWrite:CreateBucket' :: CreateBucket -> Maybe Text
$sel:grantReadACP:CreateBucket' :: CreateBucket -> Maybe Text
$sel:grantRead:CreateBucket' :: CreateBucket -> Maybe Text
$sel:grantFullControl:CreateBucket' :: CreateBucket -> Maybe Text
$sel:createBucketConfiguration:CreateBucket' :: CreateBucket -> Maybe CreateBucketConfiguration
$sel:acl:CreateBucket' :: CreateBucket -> Maybe BucketCannedACL
..} =
forall a. ToXML a => Name -> a -> Element
Data.mkElement
Name
"{http://s3.amazonaws.com/doc/2006-03-01/}CreateBucketConfiguration"
Maybe CreateBucketConfiguration
createBucketConfiguration
instance Data.ToHeaders CreateBucket where
toHeaders :: CreateBucket -> ResponseHeaders
toHeaders CreateBucket' {Maybe Bool
Maybe Text
Maybe BucketCannedACL
Maybe CreateBucketConfiguration
Maybe ObjectOwnership
BucketName
bucket :: BucketName
objectOwnership :: Maybe ObjectOwnership
objectLockEnabledForBucket :: Maybe Bool
grantWriteACP :: Maybe Text
grantWrite :: Maybe Text
grantReadACP :: Maybe Text
grantRead :: Maybe Text
grantFullControl :: Maybe Text
createBucketConfiguration :: Maybe CreateBucketConfiguration
acl :: Maybe BucketCannedACL
$sel:bucket:CreateBucket' :: CreateBucket -> BucketName
$sel:objectOwnership:CreateBucket' :: CreateBucket -> Maybe ObjectOwnership
$sel:objectLockEnabledForBucket:CreateBucket' :: CreateBucket -> Maybe Bool
$sel:grantWriteACP:CreateBucket' :: CreateBucket -> Maybe Text
$sel:grantWrite:CreateBucket' :: CreateBucket -> Maybe Text
$sel:grantReadACP:CreateBucket' :: CreateBucket -> Maybe Text
$sel:grantRead:CreateBucket' :: CreateBucket -> Maybe Text
$sel:grantFullControl:CreateBucket' :: CreateBucket -> Maybe Text
$sel:createBucketConfiguration:CreateBucket' :: CreateBucket -> Maybe CreateBucketConfiguration
$sel:acl:CreateBucket' :: CreateBucket -> Maybe BucketCannedACL
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"x-amz-acl" forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# Maybe BucketCannedACL
acl,
HeaderName
"x-amz-grant-full-control" forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# Maybe Text
grantFullControl,
HeaderName
"x-amz-grant-read" forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# Maybe Text
grantRead,
HeaderName
"x-amz-grant-read-acp" forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# Maybe Text
grantReadACP,
HeaderName
"x-amz-grant-write" forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# Maybe Text
grantWrite,
HeaderName
"x-amz-grant-write-acp" forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# Maybe Text
grantWriteACP,
HeaderName
"x-amz-bucket-object-lock-enabled"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# Maybe Bool
objectLockEnabledForBucket,
HeaderName
"x-amz-object-ownership" forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# Maybe ObjectOwnership
objectOwnership
]
instance Data.ToPath CreateBucket where
toPath :: CreateBucket -> ByteString
toPath CreateBucket' {Maybe Bool
Maybe Text
Maybe BucketCannedACL
Maybe CreateBucketConfiguration
Maybe ObjectOwnership
BucketName
bucket :: BucketName
objectOwnership :: Maybe ObjectOwnership
objectLockEnabledForBucket :: Maybe Bool
grantWriteACP :: Maybe Text
grantWrite :: Maybe Text
grantReadACP :: Maybe Text
grantRead :: Maybe Text
grantFullControl :: Maybe Text
createBucketConfiguration :: Maybe CreateBucketConfiguration
acl :: Maybe BucketCannedACL
$sel:bucket:CreateBucket' :: CreateBucket -> BucketName
$sel:objectOwnership:CreateBucket' :: CreateBucket -> Maybe ObjectOwnership
$sel:objectLockEnabledForBucket:CreateBucket' :: CreateBucket -> Maybe Bool
$sel:grantWriteACP:CreateBucket' :: CreateBucket -> Maybe Text
$sel:grantWrite:CreateBucket' :: CreateBucket -> Maybe Text
$sel:grantReadACP:CreateBucket' :: CreateBucket -> Maybe Text
$sel:grantRead:CreateBucket' :: CreateBucket -> Maybe Text
$sel:grantFullControl:CreateBucket' :: CreateBucket -> Maybe Text
$sel:createBucketConfiguration:CreateBucket' :: CreateBucket -> Maybe CreateBucketConfiguration
$sel:acl:CreateBucket' :: CreateBucket -> Maybe BucketCannedACL
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"/", forall a. ToByteString a => a -> ByteString
Data.toBS BucketName
bucket]
instance Data.ToQuery CreateBucket where
toQuery :: CreateBucket -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateBucketResponse = CreateBucketResponse'
{
CreateBucketResponse -> Maybe Text
location :: Prelude.Maybe Prelude.Text,
CreateBucketResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateBucketResponse -> CreateBucketResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateBucketResponse -> CreateBucketResponse -> Bool
$c/= :: CreateBucketResponse -> CreateBucketResponse -> Bool
== :: CreateBucketResponse -> CreateBucketResponse -> Bool
$c== :: CreateBucketResponse -> CreateBucketResponse -> Bool
Prelude.Eq, ReadPrec [CreateBucketResponse]
ReadPrec CreateBucketResponse
Int -> ReadS CreateBucketResponse
ReadS [CreateBucketResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateBucketResponse]
$creadListPrec :: ReadPrec [CreateBucketResponse]
readPrec :: ReadPrec CreateBucketResponse
$creadPrec :: ReadPrec CreateBucketResponse
readList :: ReadS [CreateBucketResponse]
$creadList :: ReadS [CreateBucketResponse]
readsPrec :: Int -> ReadS CreateBucketResponse
$creadsPrec :: Int -> ReadS CreateBucketResponse
Prelude.Read, Int -> CreateBucketResponse -> ShowS
[CreateBucketResponse] -> ShowS
CreateBucketResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateBucketResponse] -> ShowS
$cshowList :: [CreateBucketResponse] -> ShowS
show :: CreateBucketResponse -> String
$cshow :: CreateBucketResponse -> String
showsPrec :: Int -> CreateBucketResponse -> ShowS
$cshowsPrec :: Int -> CreateBucketResponse -> ShowS
Prelude.Show, forall x. Rep CreateBucketResponse x -> CreateBucketResponse
forall x. CreateBucketResponse -> Rep CreateBucketResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateBucketResponse x -> CreateBucketResponse
$cfrom :: forall x. CreateBucketResponse -> Rep CreateBucketResponse x
Prelude.Generic)
newCreateBucketResponse ::
Prelude.Int ->
CreateBucketResponse
newCreateBucketResponse :: Int -> CreateBucketResponse
newCreateBucketResponse Int
pHttpStatus_ =
CreateBucketResponse'
{ $sel:location:CreateBucketResponse' :: Maybe Text
location = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateBucketResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createBucketResponse_location :: Lens.Lens' CreateBucketResponse (Prelude.Maybe Prelude.Text)
createBucketResponse_location :: Lens' CreateBucketResponse (Maybe Text)
createBucketResponse_location = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBucketResponse' {Maybe Text
location :: Maybe Text
$sel:location:CreateBucketResponse' :: CreateBucketResponse -> Maybe Text
location} -> Maybe Text
location) (\s :: CreateBucketResponse
s@CreateBucketResponse' {} Maybe Text
a -> CreateBucketResponse
s {$sel:location:CreateBucketResponse' :: Maybe Text
location = Maybe Text
a} :: CreateBucketResponse)
createBucketResponse_httpStatus :: Lens.Lens' CreateBucketResponse Prelude.Int
createBucketResponse_httpStatus :: Lens' CreateBucketResponse Int
createBucketResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBucketResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateBucketResponse' :: CreateBucketResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateBucketResponse
s@CreateBucketResponse' {} Int
a -> CreateBucketResponse
s {$sel:httpStatus:CreateBucketResponse' :: Int
httpStatus = Int
a} :: CreateBucketResponse)
instance Prelude.NFData CreateBucketResponse where
rnf :: CreateBucketResponse -> ()
rnf CreateBucketResponse' {Int
Maybe Text
httpStatus :: Int
location :: Maybe Text
$sel:httpStatus:CreateBucketResponse' :: CreateBucketResponse -> Int
$sel:location:CreateBucketResponse' :: CreateBucketResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
location
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus