{-# 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 #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Amazonka.AmplifyBackend.ListS3Buckets -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- The list of S3 buckets in your account. module Amazonka.AmplifyBackend.ListS3Buckets ( -- * Creating a Request ListS3Buckets (..), newListS3Buckets, -- * Request Lenses listS3Buckets_nextToken, -- * Destructuring the Response ListS3BucketsResponse (..), newListS3BucketsResponse, -- * Response Lenses listS3BucketsResponse_buckets, listS3BucketsResponse_nextToken, listS3BucketsResponse_httpStatus, ) where import Amazonka.AmplifyBackend.Types 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 -- | The request body for S3Buckets. -- -- /See:/ 'newListS3Buckets' smart constructor. data ListS3Buckets = ListS3Buckets' { -- | Reserved for future use. nextToken :: Prelude.Maybe Prelude.Text } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'ListS3Buckets' with all optional fields omitted. -- -- Use or to modify other optional fields. -- -- The following record fields are available, with the corresponding lenses provided -- for backwards compatibility: -- -- 'nextToken', 'listS3Buckets_nextToken' - Reserved for future use. newListS3Buckets :: ListS3Buckets newListS3Buckets = ListS3Buckets' {nextToken = Prelude.Nothing} -- | Reserved for future use. listS3Buckets_nextToken :: Lens.Lens' ListS3Buckets (Prelude.Maybe Prelude.Text) listS3Buckets_nextToken = Lens.lens (\ListS3Buckets' {nextToken} -> nextToken) (\s@ListS3Buckets' {} a -> s {nextToken = a} :: ListS3Buckets) instance Core.AWSRequest ListS3Buckets where type AWSResponse ListS3Buckets = ListS3BucketsResponse request overrides = Request.postJSON (overrides defaultService) response = Response.receiveJSON ( \s h x -> ListS3BucketsResponse' Prelude.<$> (x Data..?> "buckets" Core..!@ Prelude.mempty) Prelude.<*> (x Data..?> "nextToken") Prelude.<*> (Prelude.pure (Prelude.fromEnum s)) ) instance Prelude.Hashable ListS3Buckets where hashWithSalt _salt ListS3Buckets' {..} = _salt `Prelude.hashWithSalt` nextToken instance Prelude.NFData ListS3Buckets where rnf ListS3Buckets' {..} = Prelude.rnf nextToken instance Data.ToHeaders ListS3Buckets where toHeaders = Prelude.const ( Prelude.mconcat [ "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToJSON ListS3Buckets where toJSON ListS3Buckets' {..} = Data.object ( Prelude.catMaybes [("nextToken" Data..=) Prelude.<$> nextToken] ) instance Data.ToPath ListS3Buckets where toPath = Prelude.const "/s3Buckets" instance Data.ToQuery ListS3Buckets where toQuery = Prelude.const Prelude.mempty -- | /See:/ 'newListS3BucketsResponse' smart constructor. data ListS3BucketsResponse = ListS3BucketsResponse' { -- | The list of S3 buckets. buckets :: Prelude.Maybe [S3BucketInfo], -- | Reserved for future use. nextToken :: Prelude.Maybe Prelude.Text, -- | The response's http status code. httpStatus :: Prelude.Int } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'ListS3BucketsResponse' with all optional fields omitted. -- -- Use or to modify other optional fields. -- -- The following record fields are available, with the corresponding lenses provided -- for backwards compatibility: -- -- 'buckets', 'listS3BucketsResponse_buckets' - The list of S3 buckets. -- -- 'nextToken', 'listS3BucketsResponse_nextToken' - Reserved for future use. -- -- 'httpStatus', 'listS3BucketsResponse_httpStatus' - The response's http status code. newListS3BucketsResponse :: -- | 'httpStatus' Prelude.Int -> ListS3BucketsResponse newListS3BucketsResponse pHttpStatus_ = ListS3BucketsResponse' { buckets = Prelude.Nothing, nextToken = Prelude.Nothing, httpStatus = pHttpStatus_ } -- | The list of S3 buckets. listS3BucketsResponse_buckets :: Lens.Lens' ListS3BucketsResponse (Prelude.Maybe [S3BucketInfo]) listS3BucketsResponse_buckets = Lens.lens (\ListS3BucketsResponse' {buckets} -> buckets) (\s@ListS3BucketsResponse' {} a -> s {buckets = a} :: ListS3BucketsResponse) Prelude.. Lens.mapping Lens.coerced -- | Reserved for future use. listS3BucketsResponse_nextToken :: Lens.Lens' ListS3BucketsResponse (Prelude.Maybe Prelude.Text) listS3BucketsResponse_nextToken = Lens.lens (\ListS3BucketsResponse' {nextToken} -> nextToken) (\s@ListS3BucketsResponse' {} a -> s {nextToken = a} :: ListS3BucketsResponse) -- | The response's http status code. listS3BucketsResponse_httpStatus :: Lens.Lens' ListS3BucketsResponse Prelude.Int listS3BucketsResponse_httpStatus = Lens.lens (\ListS3BucketsResponse' {httpStatus} -> httpStatus) (\s@ListS3BucketsResponse' {} a -> s {httpStatus = a} :: ListS3BucketsResponse) instance Prelude.NFData ListS3BucketsResponse where rnf ListS3BucketsResponse' {..} = Prelude.rnf buckets `Prelude.seq` Prelude.rnf nextToken `Prelude.seq` Prelude.rnf httpStatus