{-# 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.ECS.DescribeCapacityProviders -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Describes one or more of your capacity providers. module Amazonka.ECS.DescribeCapacityProviders ( -- * Creating a Request DescribeCapacityProviders (..), newDescribeCapacityProviders, -- * Request Lenses describeCapacityProviders_capacityProviders, describeCapacityProviders_include, describeCapacityProviders_maxResults, describeCapacityProviders_nextToken, -- * Destructuring the Response DescribeCapacityProvidersResponse (..), newDescribeCapacityProvidersResponse, -- * Response Lenses describeCapacityProvidersResponse_capacityProviders, describeCapacityProvidersResponse_failures, describeCapacityProvidersResponse_nextToken, describeCapacityProvidersResponse_httpStatus, ) where import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import qualified Amazonka.Data as Data import Amazonka.ECS.Types import qualified Amazonka.Prelude as Prelude import qualified Amazonka.Request as Request import qualified Amazonka.Response as Response -- | /See:/ 'newDescribeCapacityProviders' smart constructor. data DescribeCapacityProviders = DescribeCapacityProviders' { -- | The short name or full Amazon Resource Name (ARN) of one or more -- capacity providers. Up to @100@ capacity providers can be described in -- an action. capacityProviders :: Prelude.Maybe [Prelude.Text], -- | Specifies whether or not you want to see the resource tags for the -- capacity provider. If @TAGS@ is specified, the tags are included in the -- response. If this field is omitted, tags aren\'t included in the -- response. include :: Prelude.Maybe [CapacityProviderField], -- | The maximum number of account setting results returned by -- @DescribeCapacityProviders@ in paginated output. When this parameter is -- used, @DescribeCapacityProviders@ only returns @maxResults@ results in a -- single page along with a @nextToken@ response element. The remaining -- results of the initial request can be seen by sending another -- @DescribeCapacityProviders@ request with the returned @nextToken@ value. -- This value can be between 1 and 10. If this parameter is not used, then -- @DescribeCapacityProviders@ returns up to 10 results and a @nextToken@ -- value if applicable. maxResults :: Prelude.Maybe Prelude.Int, -- | The @nextToken@ value returned from a previous paginated -- @DescribeCapacityProviders@ request where @maxResults@ was used and the -- results exceeded the value of that parameter. Pagination continues from -- the end of the previous results that returned the @nextToken@ value. -- -- This token should be treated as an opaque identifier that is only used -- to retrieve the next items in a list and not for other programmatic -- purposes. nextToken :: Prelude.Maybe Prelude.Text } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'DescribeCapacityProviders' 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: -- -- 'capacityProviders', 'describeCapacityProviders_capacityProviders' - The short name or full Amazon Resource Name (ARN) of one or more -- capacity providers. Up to @100@ capacity providers can be described in -- an action. -- -- 'include', 'describeCapacityProviders_include' - Specifies whether or not you want to see the resource tags for the -- capacity provider. If @TAGS@ is specified, the tags are included in the -- response. If this field is omitted, tags aren\'t included in the -- response. -- -- 'maxResults', 'describeCapacityProviders_maxResults' - The maximum number of account setting results returned by -- @DescribeCapacityProviders@ in paginated output. When this parameter is -- used, @DescribeCapacityProviders@ only returns @maxResults@ results in a -- single page along with a @nextToken@ response element. The remaining -- results of the initial request can be seen by sending another -- @DescribeCapacityProviders@ request with the returned @nextToken@ value. -- This value can be between 1 and 10. If this parameter is not used, then -- @DescribeCapacityProviders@ returns up to 10 results and a @nextToken@ -- value if applicable. -- -- 'nextToken', 'describeCapacityProviders_nextToken' - The @nextToken@ value returned from a previous paginated -- @DescribeCapacityProviders@ request where @maxResults@ was used and the -- results exceeded the value of that parameter. Pagination continues from -- the end of the previous results that returned the @nextToken@ value. -- -- This token should be treated as an opaque identifier that is only used -- to retrieve the next items in a list and not for other programmatic -- purposes. newDescribeCapacityProviders :: DescribeCapacityProviders newDescribeCapacityProviders = DescribeCapacityProviders' { capacityProviders = Prelude.Nothing, include = Prelude.Nothing, maxResults = Prelude.Nothing, nextToken = Prelude.Nothing } -- | The short name or full Amazon Resource Name (ARN) of one or more -- capacity providers. Up to @100@ capacity providers can be described in -- an action. describeCapacityProviders_capacityProviders :: Lens.Lens' DescribeCapacityProviders (Prelude.Maybe [Prelude.Text]) describeCapacityProviders_capacityProviders = Lens.lens (\DescribeCapacityProviders' {capacityProviders} -> capacityProviders) (\s@DescribeCapacityProviders' {} a -> s {capacityProviders = a} :: DescribeCapacityProviders) Prelude.. Lens.mapping Lens.coerced -- | Specifies whether or not you want to see the resource tags for the -- capacity provider. If @TAGS@ is specified, the tags are included in the -- response. If this field is omitted, tags aren\'t included in the -- response. describeCapacityProviders_include :: Lens.Lens' DescribeCapacityProviders (Prelude.Maybe [CapacityProviderField]) describeCapacityProviders_include = Lens.lens (\DescribeCapacityProviders' {include} -> include) (\s@DescribeCapacityProviders' {} a -> s {include = a} :: DescribeCapacityProviders) Prelude.. Lens.mapping Lens.coerced -- | The maximum number of account setting results returned by -- @DescribeCapacityProviders@ in paginated output. When this parameter is -- used, @DescribeCapacityProviders@ only returns @maxResults@ results in a -- single page along with a @nextToken@ response element. The remaining -- results of the initial request can be seen by sending another -- @DescribeCapacityProviders@ request with the returned @nextToken@ value. -- This value can be between 1 and 10. If this parameter is not used, then -- @DescribeCapacityProviders@ returns up to 10 results and a @nextToken@ -- value if applicable. describeCapacityProviders_maxResults :: Lens.Lens' DescribeCapacityProviders (Prelude.Maybe Prelude.Int) describeCapacityProviders_maxResults = Lens.lens (\DescribeCapacityProviders' {maxResults} -> maxResults) (\s@DescribeCapacityProviders' {} a -> s {maxResults = a} :: DescribeCapacityProviders) -- | The @nextToken@ value returned from a previous paginated -- @DescribeCapacityProviders@ request where @maxResults@ was used and the -- results exceeded the value of that parameter. Pagination continues from -- the end of the previous results that returned the @nextToken@ value. -- -- This token should be treated as an opaque identifier that is only used -- to retrieve the next items in a list and not for other programmatic -- purposes. describeCapacityProviders_nextToken :: Lens.Lens' DescribeCapacityProviders (Prelude.Maybe Prelude.Text) describeCapacityProviders_nextToken = Lens.lens (\DescribeCapacityProviders' {nextToken} -> nextToken) (\s@DescribeCapacityProviders' {} a -> s {nextToken = a} :: DescribeCapacityProviders) instance Core.AWSRequest DescribeCapacityProviders where type AWSResponse DescribeCapacityProviders = DescribeCapacityProvidersResponse request overrides = Request.postJSON (overrides defaultService) response = Response.receiveJSON ( \s h x -> DescribeCapacityProvidersResponse' Prelude.<$> ( x Data..?> "capacityProviders" Core..!@ Prelude.mempty ) Prelude.<*> (x Data..?> "failures" Core..!@ Prelude.mempty) Prelude.<*> (x Data..?> "nextToken") Prelude.<*> (Prelude.pure (Prelude.fromEnum s)) ) instance Prelude.Hashable DescribeCapacityProviders where hashWithSalt _salt DescribeCapacityProviders' {..} = _salt `Prelude.hashWithSalt` capacityProviders `Prelude.hashWithSalt` include `Prelude.hashWithSalt` maxResults `Prelude.hashWithSalt` nextToken instance Prelude.NFData DescribeCapacityProviders where rnf DescribeCapacityProviders' {..} = Prelude.rnf capacityProviders `Prelude.seq` Prelude.rnf include `Prelude.seq` Prelude.rnf maxResults `Prelude.seq` Prelude.rnf nextToken instance Data.ToHeaders DescribeCapacityProviders where toHeaders = Prelude.const ( Prelude.mconcat [ "X-Amz-Target" Data.=# ( "AmazonEC2ContainerServiceV20141113.DescribeCapacityProviders" :: Prelude.ByteString ), "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToJSON DescribeCapacityProviders where toJSON DescribeCapacityProviders' {..} = Data.object ( Prelude.catMaybes [ ("capacityProviders" Data..=) Prelude.<$> capacityProviders, ("include" Data..=) Prelude.<$> include, ("maxResults" Data..=) Prelude.<$> maxResults, ("nextToken" Data..=) Prelude.<$> nextToken ] ) instance Data.ToPath DescribeCapacityProviders where toPath = Prelude.const "/" instance Data.ToQuery DescribeCapacityProviders where toQuery = Prelude.const Prelude.mempty -- | /See:/ 'newDescribeCapacityProvidersResponse' smart constructor. data DescribeCapacityProvidersResponse = DescribeCapacityProvidersResponse' { -- | The list of capacity providers. capacityProviders :: Prelude.Maybe [CapacityProvider], -- | Any failures associated with the call. failures :: Prelude.Maybe [Failure], -- | The @nextToken@ value to include in a future @DescribeCapacityProviders@ -- request. When the results of a @DescribeCapacityProviders@ request -- exceed @maxResults@, this value can be used to retrieve the next page of -- results. This value is @null@ when there are no more results to return. 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 'DescribeCapacityProvidersResponse' 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: -- -- 'capacityProviders', 'describeCapacityProvidersResponse_capacityProviders' - The list of capacity providers. -- -- 'failures', 'describeCapacityProvidersResponse_failures' - Any failures associated with the call. -- -- 'nextToken', 'describeCapacityProvidersResponse_nextToken' - The @nextToken@ value to include in a future @DescribeCapacityProviders@ -- request. When the results of a @DescribeCapacityProviders@ request -- exceed @maxResults@, this value can be used to retrieve the next page of -- results. This value is @null@ when there are no more results to return. -- -- 'httpStatus', 'describeCapacityProvidersResponse_httpStatus' - The response's http status code. newDescribeCapacityProvidersResponse :: -- | 'httpStatus' Prelude.Int -> DescribeCapacityProvidersResponse newDescribeCapacityProvidersResponse pHttpStatus_ = DescribeCapacityProvidersResponse' { capacityProviders = Prelude.Nothing, failures = Prelude.Nothing, nextToken = Prelude.Nothing, httpStatus = pHttpStatus_ } -- | The list of capacity providers. describeCapacityProvidersResponse_capacityProviders :: Lens.Lens' DescribeCapacityProvidersResponse (Prelude.Maybe [CapacityProvider]) describeCapacityProvidersResponse_capacityProviders = Lens.lens (\DescribeCapacityProvidersResponse' {capacityProviders} -> capacityProviders) (\s@DescribeCapacityProvidersResponse' {} a -> s {capacityProviders = a} :: DescribeCapacityProvidersResponse) Prelude.. Lens.mapping Lens.coerced -- | Any failures associated with the call. describeCapacityProvidersResponse_failures :: Lens.Lens' DescribeCapacityProvidersResponse (Prelude.Maybe [Failure]) describeCapacityProvidersResponse_failures = Lens.lens (\DescribeCapacityProvidersResponse' {failures} -> failures) (\s@DescribeCapacityProvidersResponse' {} a -> s {failures = a} :: DescribeCapacityProvidersResponse) Prelude.. Lens.mapping Lens.coerced -- | The @nextToken@ value to include in a future @DescribeCapacityProviders@ -- request. When the results of a @DescribeCapacityProviders@ request -- exceed @maxResults@, this value can be used to retrieve the next page of -- results. This value is @null@ when there are no more results to return. describeCapacityProvidersResponse_nextToken :: Lens.Lens' DescribeCapacityProvidersResponse (Prelude.Maybe Prelude.Text) describeCapacityProvidersResponse_nextToken = Lens.lens (\DescribeCapacityProvidersResponse' {nextToken} -> nextToken) (\s@DescribeCapacityProvidersResponse' {} a -> s {nextToken = a} :: DescribeCapacityProvidersResponse) -- | The response's http status code. describeCapacityProvidersResponse_httpStatus :: Lens.Lens' DescribeCapacityProvidersResponse Prelude.Int describeCapacityProvidersResponse_httpStatus = Lens.lens (\DescribeCapacityProvidersResponse' {httpStatus} -> httpStatus) (\s@DescribeCapacityProvidersResponse' {} a -> s {httpStatus = a} :: DescribeCapacityProvidersResponse) instance Prelude.NFData DescribeCapacityProvidersResponse where rnf DescribeCapacityProvidersResponse' {..} = Prelude.rnf capacityProviders `Prelude.seq` Prelude.rnf failures `Prelude.seq` Prelude.rnf nextToken `Prelude.seq` Prelude.rnf httpStatus