{-# 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.CostExplorer.GetDimensionValues -- Copyright : (c) 2013-2021 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Retrieves all available filter values for a specified filter over a -- period of time. You can search the dimension values for an arbitrary -- string. module Amazonka.CostExplorer.GetDimensionValues ( -- * Creating a Request GetDimensionValues (..), newGetDimensionValues, -- * Request Lenses getDimensionValues_nextPageToken, getDimensionValues_context, getDimensionValues_searchString, getDimensionValues_filter, getDimensionValues_maxResults, getDimensionValues_sortBy, getDimensionValues_timePeriod, getDimensionValues_dimension, -- * Destructuring the Response GetDimensionValuesResponse (..), newGetDimensionValuesResponse, -- * Response Lenses getDimensionValuesResponse_nextPageToken, getDimensionValuesResponse_httpStatus, getDimensionValuesResponse_dimensionValues, getDimensionValuesResponse_returnSize, getDimensionValuesResponse_totalSize, ) where import qualified Amazonka.Core as Core import Amazonka.CostExplorer.Types import qualified Amazonka.Lens as Lens import qualified Amazonka.Prelude as Prelude import qualified Amazonka.Request as Request import qualified Amazonka.Response as Response -- | /See:/ 'newGetDimensionValues' smart constructor. data GetDimensionValues = GetDimensionValues' { -- | The token to retrieve the next set of results. Amazon Web Services -- provides the token when the response from a previous call has more -- results than the maximum page size. GetDimensionValues -> Maybe Text nextPageToken :: Prelude.Maybe Prelude.Text, -- | The context for the call to @GetDimensionValues@. This can be -- @RESERVATIONS@ or @COST_AND_USAGE@. The default value is -- @COST_AND_USAGE@. If the context is set to @RESERVATIONS@, the resulting -- dimension values can be used in the @GetReservationUtilization@ -- operation. If the context is set to @COST_AND_USAGE@, the resulting -- dimension values can be used in the @GetCostAndUsage@ operation. -- -- If you set the context to @COST_AND_USAGE@, you can use the following -- dimensions for searching: -- -- - AZ - The Availability Zone. An example is @us-east-1a@. -- -- - DATABASE_ENGINE - The Amazon Relational Database Service database. -- Examples are Aurora or MySQL. -- -- - INSTANCE_TYPE - The type of Amazon EC2 instance. An example is -- @m4.xlarge@. -- -- - LEGAL_ENTITY_NAME - The name of the organization that sells you -- Amazon Web Services services, such as Amazon Web Services. -- -- - LINKED_ACCOUNT - The description in the attribute map that includes -- the full name of the member account. The value field contains the -- Amazon Web Services ID of the member account. -- -- - OPERATING_SYSTEM - The operating system. Examples are Windows or -- Linux. -- -- - OPERATION - The action performed. Examples include @RunInstance@ and -- @CreateBucket@. -- -- - PLATFORM - The Amazon EC2 operating system. Examples are Windows or -- Linux. -- -- - PURCHASE_TYPE - The reservation type of the purchase to which this -- usage is related. Examples include On-Demand Instances and Standard -- Reserved Instances. -- -- - SERVICE - The Amazon Web Services service such as Amazon DynamoDB. -- -- - USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. -- The response for the @GetDimensionValues@ operation includes a unit -- attribute. Examples include GB and Hrs. -- -- - USAGE_TYPE_GROUP - The grouping of common usage types. An example is -- Amazon EC2: CloudWatch – Alarms. The response for this operation -- includes a unit attribute. -- -- - REGION - The Amazon Web Services Region. -- -- - RECORD_TYPE - The different types of charges such as RI fees, usage -- costs, tax refunds, and credits. -- -- - RESOURCE_ID - The unique identifier of the resource. ResourceId is -- an opt-in feature only available for last 14 days for EC2-Compute -- Service. -- -- If you set the context to @RESERVATIONS@, you can use the following -- dimensions for searching: -- -- - AZ - The Availability Zone. An example is @us-east-1a@. -- -- - CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are -- Windows or Linux. -- -- - DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service -- deployments. Valid values are @SingleAZ@ and @MultiAZ@. -- -- - INSTANCE_TYPE - The type of Amazon EC2 instance. An example is -- @m4.xlarge@. -- -- - LINKED_ACCOUNT - The description in the attribute map that includes -- the full name of the member account. The value field contains the -- Amazon Web Services ID of the member account. -- -- - PLATFORM - The Amazon EC2 operating system. Examples are Windows or -- Linux. -- -- - REGION - The Amazon Web Services Region. -- -- - SCOPE (Utilization only) - The scope of a Reserved Instance (RI). -- Values are regional or a single Availability Zone. -- -- - TAG (Coverage only) - The tags that are associated with a Reserved -- Instance (RI). -- -- - TENANCY - The tenancy of a resource. Examples are shared or -- dedicated. -- -- If you set the context to @SAVINGS_PLANS@, you can use the following -- dimensions for searching: -- -- - SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute) -- -- - PAYMENT_OPTION - Payment option for the given Savings Plans (for -- example, All Upfront) -- -- - REGION - The Amazon Web Services Region. -- -- - INSTANCE_TYPE_FAMILY - The family of instances (For example, @m5@) -- -- - LINKED_ACCOUNT - The description in the attribute map that includes -- the full name of the member account. The value field contains the -- Amazon Web Services ID of the member account. -- -- - SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan GetDimensionValues -> Maybe Context context :: Prelude.Maybe Context, -- | The value that you want to search the filter values for. GetDimensionValues -> Maybe Text searchString :: Prelude.Maybe Prelude.Text, GetDimensionValues -> Maybe Expression filter' :: Prelude.Maybe Expression, -- | This field is only used when SortBy is provided in the request. The -- maximum number of objects that to be returned for this request. If -- MaxResults is not specified with SortBy, the request will return 1000 -- results as the default value for this parameter. -- -- For @GetDimensionValues@, MaxResults has an upper limit of 1000. GetDimensionValues -> Maybe Natural maxResults :: Prelude.Maybe Prelude.Natural, -- | The value by which you want to sort the data. -- -- The key represents cost and usage metrics. The following values are -- supported: -- -- - @BlendedCost@ -- -- - @UnblendedCost@ -- -- - @AmortizedCost@ -- -- - @NetAmortizedCost@ -- -- - @NetUnblendedCost@ -- -- - @UsageQuantity@ -- -- - @NormalizedUsageAmount@ -- -- Supported values for @SortOrder@ are @ASCENDING@ or @DESCENDING@. -- -- When you specify a @SortBy@ paramater, the context must be -- @COST_AND_USAGE@. Further, when using @SortBy@, @NextPageToken@ and -- @SearchString@ are not supported. GetDimensionValues -> Maybe [SortDefinition] sortBy :: Prelude.Maybe [SortDefinition], -- | The start date and end date for retrieving the dimension values. The -- start date is inclusive, but the end date is exclusive. For example, if -- @start@ is @2017-01-01@ and @end@ is @2017-05-01@, then the cost and -- usage data is retrieved from @2017-01-01@ up to and including -- @2017-04-30@ but not including @2017-05-01@. GetDimensionValues -> DateInterval timePeriod :: DateInterval, -- | The name of the dimension. Each @Dimension@ is available for a different -- @Context@. For more information, see @Context@. GetDimensionValues -> Dimension dimension :: Dimension } deriving (GetDimensionValues -> GetDimensionValues -> Bool (GetDimensionValues -> GetDimensionValues -> Bool) -> (GetDimensionValues -> GetDimensionValues -> Bool) -> Eq GetDimensionValues forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: GetDimensionValues -> GetDimensionValues -> Bool $c/= :: GetDimensionValues -> GetDimensionValues -> Bool == :: GetDimensionValues -> GetDimensionValues -> Bool $c== :: GetDimensionValues -> GetDimensionValues -> Bool Prelude.Eq, ReadPrec [GetDimensionValues] ReadPrec GetDimensionValues Int -> ReadS GetDimensionValues ReadS [GetDimensionValues] (Int -> ReadS GetDimensionValues) -> ReadS [GetDimensionValues] -> ReadPrec GetDimensionValues -> ReadPrec [GetDimensionValues] -> Read GetDimensionValues forall a. (Int -> ReadS a) -> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a readListPrec :: ReadPrec [GetDimensionValues] $creadListPrec :: ReadPrec [GetDimensionValues] readPrec :: ReadPrec GetDimensionValues $creadPrec :: ReadPrec GetDimensionValues readList :: ReadS [GetDimensionValues] $creadList :: ReadS [GetDimensionValues] readsPrec :: Int -> ReadS GetDimensionValues $creadsPrec :: Int -> ReadS GetDimensionValues Prelude.Read, Int -> GetDimensionValues -> ShowS [GetDimensionValues] -> ShowS GetDimensionValues -> String (Int -> GetDimensionValues -> ShowS) -> (GetDimensionValues -> String) -> ([GetDimensionValues] -> ShowS) -> Show GetDimensionValues forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [GetDimensionValues] -> ShowS $cshowList :: [GetDimensionValues] -> ShowS show :: GetDimensionValues -> String $cshow :: GetDimensionValues -> String showsPrec :: Int -> GetDimensionValues -> ShowS $cshowsPrec :: Int -> GetDimensionValues -> ShowS Prelude.Show, (forall x. GetDimensionValues -> Rep GetDimensionValues x) -> (forall x. Rep GetDimensionValues x -> GetDimensionValues) -> Generic GetDimensionValues forall x. Rep GetDimensionValues x -> GetDimensionValues forall x. GetDimensionValues -> Rep GetDimensionValues x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep GetDimensionValues x -> GetDimensionValues $cfrom :: forall x. GetDimensionValues -> Rep GetDimensionValues x Prelude.Generic) -- | -- Create a value of 'GetDimensionValues' with all optional fields omitted. -- -- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields. -- -- The following record fields are available, with the corresponding lenses provided -- for backwards compatibility: -- -- 'nextPageToken', 'getDimensionValues_nextPageToken' - The token to retrieve the next set of results. Amazon Web Services -- provides the token when the response from a previous call has more -- results than the maximum page size. -- -- 'context', 'getDimensionValues_context' - The context for the call to @GetDimensionValues@. This can be -- @RESERVATIONS@ or @COST_AND_USAGE@. The default value is -- @COST_AND_USAGE@. If the context is set to @RESERVATIONS@, the resulting -- dimension values can be used in the @GetReservationUtilization@ -- operation. If the context is set to @COST_AND_USAGE@, the resulting -- dimension values can be used in the @GetCostAndUsage@ operation. -- -- If you set the context to @COST_AND_USAGE@, you can use the following -- dimensions for searching: -- -- - AZ - The Availability Zone. An example is @us-east-1a@. -- -- - DATABASE_ENGINE - The Amazon Relational Database Service database. -- Examples are Aurora or MySQL. -- -- - INSTANCE_TYPE - The type of Amazon EC2 instance. An example is -- @m4.xlarge@. -- -- - LEGAL_ENTITY_NAME - The name of the organization that sells you -- Amazon Web Services services, such as Amazon Web Services. -- -- - LINKED_ACCOUNT - The description in the attribute map that includes -- the full name of the member account. The value field contains the -- Amazon Web Services ID of the member account. -- -- - OPERATING_SYSTEM - The operating system. Examples are Windows or -- Linux. -- -- - OPERATION - The action performed. Examples include @RunInstance@ and -- @CreateBucket@. -- -- - PLATFORM - The Amazon EC2 operating system. Examples are Windows or -- Linux. -- -- - PURCHASE_TYPE - The reservation type of the purchase to which this -- usage is related. Examples include On-Demand Instances and Standard -- Reserved Instances. -- -- - SERVICE - The Amazon Web Services service such as Amazon DynamoDB. -- -- - USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. -- The response for the @GetDimensionValues@ operation includes a unit -- attribute. Examples include GB and Hrs. -- -- - USAGE_TYPE_GROUP - The grouping of common usage types. An example is -- Amazon EC2: CloudWatch – Alarms. The response for this operation -- includes a unit attribute. -- -- - REGION - The Amazon Web Services Region. -- -- - RECORD_TYPE - The different types of charges such as RI fees, usage -- costs, tax refunds, and credits. -- -- - RESOURCE_ID - The unique identifier of the resource. ResourceId is -- an opt-in feature only available for last 14 days for EC2-Compute -- Service. -- -- If you set the context to @RESERVATIONS@, you can use the following -- dimensions for searching: -- -- - AZ - The Availability Zone. An example is @us-east-1a@. -- -- - CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are -- Windows or Linux. -- -- - DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service -- deployments. Valid values are @SingleAZ@ and @MultiAZ@. -- -- - INSTANCE_TYPE - The type of Amazon EC2 instance. An example is -- @m4.xlarge@. -- -- - LINKED_ACCOUNT - The description in the attribute map that includes -- the full name of the member account. The value field contains the -- Amazon Web Services ID of the member account. -- -- - PLATFORM - The Amazon EC2 operating system. Examples are Windows or -- Linux. -- -- - REGION - The Amazon Web Services Region. -- -- - SCOPE (Utilization only) - The scope of a Reserved Instance (RI). -- Values are regional or a single Availability Zone. -- -- - TAG (Coverage only) - The tags that are associated with a Reserved -- Instance (RI). -- -- - TENANCY - The tenancy of a resource. Examples are shared or -- dedicated. -- -- If you set the context to @SAVINGS_PLANS@, you can use the following -- dimensions for searching: -- -- - SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute) -- -- - PAYMENT_OPTION - Payment option for the given Savings Plans (for -- example, All Upfront) -- -- - REGION - The Amazon Web Services Region. -- -- - INSTANCE_TYPE_FAMILY - The family of instances (For example, @m5@) -- -- - LINKED_ACCOUNT - The description in the attribute map that includes -- the full name of the member account. The value field contains the -- Amazon Web Services ID of the member account. -- -- - SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan -- -- 'searchString', 'getDimensionValues_searchString' - The value that you want to search the filter values for. -- -- 'filter'', 'getDimensionValues_filter' - Undocumented member. -- -- 'maxResults', 'getDimensionValues_maxResults' - This field is only used when SortBy is provided in the request. The -- maximum number of objects that to be returned for this request. If -- MaxResults is not specified with SortBy, the request will return 1000 -- results as the default value for this parameter. -- -- For @GetDimensionValues@, MaxResults has an upper limit of 1000. -- -- 'sortBy', 'getDimensionValues_sortBy' - The value by which you want to sort the data. -- -- The key represents cost and usage metrics. The following values are -- supported: -- -- - @BlendedCost@ -- -- - @UnblendedCost@ -- -- - @AmortizedCost@ -- -- - @NetAmortizedCost@ -- -- - @NetUnblendedCost@ -- -- - @UsageQuantity@ -- -- - @NormalizedUsageAmount@ -- -- Supported values for @SortOrder@ are @ASCENDING@ or @DESCENDING@. -- -- When you specify a @SortBy@ paramater, the context must be -- @COST_AND_USAGE@. Further, when using @SortBy@, @NextPageToken@ and -- @SearchString@ are not supported. -- -- 'timePeriod', 'getDimensionValues_timePeriod' - The start date and end date for retrieving the dimension values. The -- start date is inclusive, but the end date is exclusive. For example, if -- @start@ is @2017-01-01@ and @end@ is @2017-05-01@, then the cost and -- usage data is retrieved from @2017-01-01@ up to and including -- @2017-04-30@ but not including @2017-05-01@. -- -- 'dimension', 'getDimensionValues_dimension' - The name of the dimension. Each @Dimension@ is available for a different -- @Context@. For more information, see @Context@. newGetDimensionValues :: -- | 'timePeriod' DateInterval -> -- | 'dimension' Dimension -> GetDimensionValues newGetDimensionValues :: DateInterval -> Dimension -> GetDimensionValues newGetDimensionValues DateInterval pTimePeriod_ Dimension pDimension_ = GetDimensionValues' :: Maybe Text -> Maybe Context -> Maybe Text -> Maybe Expression -> Maybe Natural -> Maybe [SortDefinition] -> DateInterval -> Dimension -> GetDimensionValues GetDimensionValues' { $sel:nextPageToken:GetDimensionValues' :: Maybe Text nextPageToken = Maybe Text forall a. Maybe a Prelude.Nothing, $sel:context:GetDimensionValues' :: Maybe Context context = Maybe Context forall a. Maybe a Prelude.Nothing, $sel:searchString:GetDimensionValues' :: Maybe Text searchString = Maybe Text forall a. Maybe a Prelude.Nothing, $sel:filter':GetDimensionValues' :: Maybe Expression filter' = Maybe Expression forall a. Maybe a Prelude.Nothing, $sel:maxResults:GetDimensionValues' :: Maybe Natural maxResults = Maybe Natural forall a. Maybe a Prelude.Nothing, $sel:sortBy:GetDimensionValues' :: Maybe [SortDefinition] sortBy = Maybe [SortDefinition] forall a. Maybe a Prelude.Nothing, $sel:timePeriod:GetDimensionValues' :: DateInterval timePeriod = DateInterval pTimePeriod_, $sel:dimension:GetDimensionValues' :: Dimension dimension = Dimension pDimension_ } -- | The token to retrieve the next set of results. Amazon Web Services -- provides the token when the response from a previous call has more -- results than the maximum page size. getDimensionValues_nextPageToken :: Lens.Lens' GetDimensionValues (Prelude.Maybe Prelude.Text) getDimensionValues_nextPageToken :: (Maybe Text -> f (Maybe Text)) -> GetDimensionValues -> f GetDimensionValues getDimensionValues_nextPageToken = (GetDimensionValues -> Maybe Text) -> (GetDimensionValues -> Maybe Text -> GetDimensionValues) -> Lens GetDimensionValues GetDimensionValues (Maybe Text) (Maybe Text) forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b Lens.lens (\GetDimensionValues' {Maybe Text nextPageToken :: Maybe Text $sel:nextPageToken:GetDimensionValues' :: GetDimensionValues -> Maybe Text nextPageToken} -> Maybe Text nextPageToken) (\s :: GetDimensionValues s@GetDimensionValues' {} Maybe Text a -> GetDimensionValues s {$sel:nextPageToken:GetDimensionValues' :: Maybe Text nextPageToken = Maybe Text a} :: GetDimensionValues) -- | The context for the call to @GetDimensionValues@. This can be -- @RESERVATIONS@ or @COST_AND_USAGE@. The default value is -- @COST_AND_USAGE@. If the context is set to @RESERVATIONS@, the resulting -- dimension values can be used in the @GetReservationUtilization@ -- operation. If the context is set to @COST_AND_USAGE@, the resulting -- dimension values can be used in the @GetCostAndUsage@ operation. -- -- If you set the context to @COST_AND_USAGE@, you can use the following -- dimensions for searching: -- -- - AZ - The Availability Zone. An example is @us-east-1a@. -- -- - DATABASE_ENGINE - The Amazon Relational Database Service database. -- Examples are Aurora or MySQL. -- -- - INSTANCE_TYPE - The type of Amazon EC2 instance. An example is -- @m4.xlarge@. -- -- - LEGAL_ENTITY_NAME - The name of the organization that sells you -- Amazon Web Services services, such as Amazon Web Services. -- -- - LINKED_ACCOUNT - The description in the attribute map that includes -- the full name of the member account. The value field contains the -- Amazon Web Services ID of the member account. -- -- - OPERATING_SYSTEM - The operating system. Examples are Windows or -- Linux. -- -- - OPERATION - The action performed. Examples include @RunInstance@ and -- @CreateBucket@. -- -- - PLATFORM - The Amazon EC2 operating system. Examples are Windows or -- Linux. -- -- - PURCHASE_TYPE - The reservation type of the purchase to which this -- usage is related. Examples include On-Demand Instances and Standard -- Reserved Instances. -- -- - SERVICE - The Amazon Web Services service such as Amazon DynamoDB. -- -- - USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. -- The response for the @GetDimensionValues@ operation includes a unit -- attribute. Examples include GB and Hrs. -- -- - USAGE_TYPE_GROUP - The grouping of common usage types. An example is -- Amazon EC2: CloudWatch – Alarms. The response for this operation -- includes a unit attribute. -- -- - REGION - The Amazon Web Services Region. -- -- - RECORD_TYPE - The different types of charges such as RI fees, usage -- costs, tax refunds, and credits. -- -- - RESOURCE_ID - The unique identifier of the resource. ResourceId is -- an opt-in feature only available for last 14 days for EC2-Compute -- Service. -- -- If you set the context to @RESERVATIONS@, you can use the following -- dimensions for searching: -- -- - AZ - The Availability Zone. An example is @us-east-1a@. -- -- - CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are -- Windows or Linux. -- -- - DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service -- deployments. Valid values are @SingleAZ@ and @MultiAZ@. -- -- - INSTANCE_TYPE - The type of Amazon EC2 instance. An example is -- @m4.xlarge@. -- -- - LINKED_ACCOUNT - The description in the attribute map that includes -- the full name of the member account. The value field contains the -- Amazon Web Services ID of the member account. -- -- - PLATFORM - The Amazon EC2 operating system. Examples are Windows or -- Linux. -- -- - REGION - The Amazon Web Services Region. -- -- - SCOPE (Utilization only) - The scope of a Reserved Instance (RI). -- Values are regional or a single Availability Zone. -- -- - TAG (Coverage only) - The tags that are associated with a Reserved -- Instance (RI). -- -- - TENANCY - The tenancy of a resource. Examples are shared or -- dedicated. -- -- If you set the context to @SAVINGS_PLANS@, you can use the following -- dimensions for searching: -- -- - SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute) -- -- - PAYMENT_OPTION - Payment option for the given Savings Plans (for -- example, All Upfront) -- -- - REGION - The Amazon Web Services Region. -- -- - INSTANCE_TYPE_FAMILY - The family of instances (For example, @m5@) -- -- - LINKED_ACCOUNT - The description in the attribute map that includes -- the full name of the member account. The value field contains the -- Amazon Web Services ID of the member account. -- -- - SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan getDimensionValues_context :: Lens.Lens' GetDimensionValues (Prelude.Maybe Context) getDimensionValues_context :: (Maybe Context -> f (Maybe Context)) -> GetDimensionValues -> f GetDimensionValues getDimensionValues_context = (GetDimensionValues -> Maybe Context) -> (GetDimensionValues -> Maybe Context -> GetDimensionValues) -> Lens GetDimensionValues GetDimensionValues (Maybe Context) (Maybe Context) forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b Lens.lens (\GetDimensionValues' {Maybe Context context :: Maybe Context $sel:context:GetDimensionValues' :: GetDimensionValues -> Maybe Context context} -> Maybe Context context) (\s :: GetDimensionValues s@GetDimensionValues' {} Maybe Context a -> GetDimensionValues s {$sel:context:GetDimensionValues' :: Maybe Context context = Maybe Context a} :: GetDimensionValues) -- | The value that you want to search the filter values for. getDimensionValues_searchString :: Lens.Lens' GetDimensionValues (Prelude.Maybe Prelude.Text) getDimensionValues_searchString :: (Maybe Text -> f (Maybe Text)) -> GetDimensionValues -> f GetDimensionValues getDimensionValues_searchString = (GetDimensionValues -> Maybe Text) -> (GetDimensionValues -> Maybe Text -> GetDimensionValues) -> Lens GetDimensionValues GetDimensionValues (Maybe Text) (Maybe Text) forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b Lens.lens (\GetDimensionValues' {Maybe Text searchString :: Maybe Text $sel:searchString:GetDimensionValues' :: GetDimensionValues -> Maybe Text searchString} -> Maybe Text searchString) (\s :: GetDimensionValues s@GetDimensionValues' {} Maybe Text a -> GetDimensionValues s {$sel:searchString:GetDimensionValues' :: Maybe Text searchString = Maybe Text a} :: GetDimensionValues) -- | Undocumented member. getDimensionValues_filter :: Lens.Lens' GetDimensionValues (Prelude.Maybe Expression) getDimensionValues_filter :: (Maybe Expression -> f (Maybe Expression)) -> GetDimensionValues -> f GetDimensionValues getDimensionValues_filter = (GetDimensionValues -> Maybe Expression) -> (GetDimensionValues -> Maybe Expression -> GetDimensionValues) -> Lens GetDimensionValues GetDimensionValues (Maybe Expression) (Maybe Expression) forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b Lens.lens (\GetDimensionValues' {Maybe Expression filter' :: Maybe Expression $sel:filter':GetDimensionValues' :: GetDimensionValues -> Maybe Expression filter'} -> Maybe Expression filter') (\s :: GetDimensionValues s@GetDimensionValues' {} Maybe Expression a -> GetDimensionValues s {$sel:filter':GetDimensionValues' :: Maybe Expression filter' = Maybe Expression a} :: GetDimensionValues) -- | This field is only used when SortBy is provided in the request. The -- maximum number of objects that to be returned for this request. If -- MaxResults is not specified with SortBy, the request will return 1000 -- results as the default value for this parameter. -- -- For @GetDimensionValues@, MaxResults has an upper limit of 1000. getDimensionValues_maxResults :: Lens.Lens' GetDimensionValues (Prelude.Maybe Prelude.Natural) getDimensionValues_maxResults :: (Maybe Natural -> f (Maybe Natural)) -> GetDimensionValues -> f GetDimensionValues getDimensionValues_maxResults = (GetDimensionValues -> Maybe Natural) -> (GetDimensionValues -> Maybe Natural -> GetDimensionValues) -> Lens GetDimensionValues GetDimensionValues (Maybe Natural) (Maybe Natural) forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b Lens.lens (\GetDimensionValues' {Maybe Natural maxResults :: Maybe Natural $sel:maxResults:GetDimensionValues' :: GetDimensionValues -> Maybe Natural maxResults} -> Maybe Natural maxResults) (\s :: GetDimensionValues s@GetDimensionValues' {} Maybe Natural a -> GetDimensionValues s {$sel:maxResults:GetDimensionValues' :: Maybe Natural maxResults = Maybe Natural a} :: GetDimensionValues) -- | The value by which you want to sort the data. -- -- The key represents cost and usage metrics. The following values are -- supported: -- -- - @BlendedCost@ -- -- - @UnblendedCost@ -- -- - @AmortizedCost@ -- -- - @NetAmortizedCost@ -- -- - @NetUnblendedCost@ -- -- - @UsageQuantity@ -- -- - @NormalizedUsageAmount@ -- -- Supported values for @SortOrder@ are @ASCENDING@ or @DESCENDING@. -- -- When you specify a @SortBy@ paramater, the context must be -- @COST_AND_USAGE@. Further, when using @SortBy@, @NextPageToken@ and -- @SearchString@ are not supported. getDimensionValues_sortBy :: Lens.Lens' GetDimensionValues (Prelude.Maybe [SortDefinition]) getDimensionValues_sortBy :: (Maybe [SortDefinition] -> f (Maybe [SortDefinition])) -> GetDimensionValues -> f GetDimensionValues getDimensionValues_sortBy = (GetDimensionValues -> Maybe [SortDefinition]) -> (GetDimensionValues -> Maybe [SortDefinition] -> GetDimensionValues) -> Lens GetDimensionValues GetDimensionValues (Maybe [SortDefinition]) (Maybe [SortDefinition]) forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b Lens.lens (\GetDimensionValues' {Maybe [SortDefinition] sortBy :: Maybe [SortDefinition] $sel:sortBy:GetDimensionValues' :: GetDimensionValues -> Maybe [SortDefinition] sortBy} -> Maybe [SortDefinition] sortBy) (\s :: GetDimensionValues s@GetDimensionValues' {} Maybe [SortDefinition] a -> GetDimensionValues s {$sel:sortBy:GetDimensionValues' :: Maybe [SortDefinition] sortBy = Maybe [SortDefinition] a} :: GetDimensionValues) ((Maybe [SortDefinition] -> f (Maybe [SortDefinition])) -> GetDimensionValues -> f GetDimensionValues) -> ((Maybe [SortDefinition] -> f (Maybe [SortDefinition])) -> Maybe [SortDefinition] -> f (Maybe [SortDefinition])) -> (Maybe [SortDefinition] -> f (Maybe [SortDefinition])) -> GetDimensionValues -> f GetDimensionValues forall b c a. (b -> c) -> (a -> b) -> a -> c Prelude.. AnIso [SortDefinition] [SortDefinition] [SortDefinition] [SortDefinition] -> Iso (Maybe [SortDefinition]) (Maybe [SortDefinition]) (Maybe [SortDefinition]) (Maybe [SortDefinition]) forall (f :: * -> *) (g :: * -> *) s t a b. (Functor f, Functor g) => AnIso s t a b -> Iso (f s) (g t) (f a) (g b) Lens.mapping AnIso [SortDefinition] [SortDefinition] [SortDefinition] [SortDefinition] forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b Lens.coerced -- | The start date and end date for retrieving the dimension values. The -- start date is inclusive, but the end date is exclusive. For example, if -- @start@ is @2017-01-01@ and @end@ is @2017-05-01@, then the cost and -- usage data is retrieved from @2017-01-01@ up to and including -- @2017-04-30@ but not including @2017-05-01@. getDimensionValues_timePeriod :: Lens.Lens' GetDimensionValues DateInterval getDimensionValues_timePeriod :: (DateInterval -> f DateInterval) -> GetDimensionValues -> f GetDimensionValues getDimensionValues_timePeriod = (GetDimensionValues -> DateInterval) -> (GetDimensionValues -> DateInterval -> GetDimensionValues) -> Lens GetDimensionValues GetDimensionValues DateInterval DateInterval forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b Lens.lens (\GetDimensionValues' {DateInterval timePeriod :: DateInterval $sel:timePeriod:GetDimensionValues' :: GetDimensionValues -> DateInterval timePeriod} -> DateInterval timePeriod) (\s :: GetDimensionValues s@GetDimensionValues' {} DateInterval a -> GetDimensionValues s {$sel:timePeriod:GetDimensionValues' :: DateInterval timePeriod = DateInterval a} :: GetDimensionValues) -- | The name of the dimension. Each @Dimension@ is available for a different -- @Context@. For more information, see @Context@. getDimensionValues_dimension :: Lens.Lens' GetDimensionValues Dimension getDimensionValues_dimension :: (Dimension -> f Dimension) -> GetDimensionValues -> f GetDimensionValues getDimensionValues_dimension = (GetDimensionValues -> Dimension) -> (GetDimensionValues -> Dimension -> GetDimensionValues) -> Lens GetDimensionValues GetDimensionValues Dimension Dimension forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b Lens.lens (\GetDimensionValues' {Dimension dimension :: Dimension $sel:dimension:GetDimensionValues' :: GetDimensionValues -> Dimension dimension} -> Dimension dimension) (\s :: GetDimensionValues s@GetDimensionValues' {} Dimension a -> GetDimensionValues s {$sel:dimension:GetDimensionValues' :: Dimension dimension = Dimension a} :: GetDimensionValues) instance Core.AWSRequest GetDimensionValues where type AWSResponse GetDimensionValues = GetDimensionValuesResponse request :: GetDimensionValues -> Request GetDimensionValues request = Service -> GetDimensionValues -> Request GetDimensionValues forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a Request.postJSON Service defaultService response :: Logger -> Service -> Proxy GetDimensionValues -> ClientResponse ClientBody -> m (Either Error (ClientResponse (AWSResponse GetDimensionValues))) response = (Int -> ResponseHeaders -> Object -> Either String (AWSResponse GetDimensionValues)) -> Logger -> Service -> Proxy GetDimensionValues -> ClientResponse ClientBody -> m (Either Error (ClientResponse (AWSResponse GetDimensionValues))) forall (m :: * -> *) a. MonadResource m => (Int -> ResponseHeaders -> Object -> Either String (AWSResponse a)) -> Logger -> Service -> Proxy a -> ClientResponse ClientBody -> m (Either Error (ClientResponse (AWSResponse a))) Response.receiveJSON ( \Int s ResponseHeaders h Object x -> Maybe Text -> Int -> [DimensionValuesWithAttributes] -> Int -> Int -> GetDimensionValuesResponse GetDimensionValuesResponse' (Maybe Text -> Int -> [DimensionValuesWithAttributes] -> Int -> Int -> GetDimensionValuesResponse) -> Either String (Maybe Text) -> Either String (Int -> [DimensionValuesWithAttributes] -> Int -> Int -> GetDimensionValuesResponse) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b Prelude.<$> (Object x Object -> Text -> Either String (Maybe Text) forall a. FromJSON a => Object -> Text -> Either String (Maybe a) Core..?> Text "NextPageToken") Either String (Int -> [DimensionValuesWithAttributes] -> Int -> Int -> GetDimensionValuesResponse) -> Either String Int -> Either String ([DimensionValuesWithAttributes] -> Int -> Int -> GetDimensionValuesResponse) forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b Prelude.<*> (Int -> Either String Int forall (f :: * -> *) a. Applicative f => a -> f a Prelude.pure (Int -> Int forall a. Enum a => a -> Int Prelude.fromEnum Int s)) Either String ([DimensionValuesWithAttributes] -> Int -> Int -> GetDimensionValuesResponse) -> Either String [DimensionValuesWithAttributes] -> Either String (Int -> Int -> GetDimensionValuesResponse) forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b Prelude.<*> ( Object x Object -> Text -> Either String (Maybe [DimensionValuesWithAttributes]) forall a. FromJSON a => Object -> Text -> Either String (Maybe a) Core..?> Text "DimensionValues" Either String (Maybe [DimensionValuesWithAttributes]) -> [DimensionValuesWithAttributes] -> Either String [DimensionValuesWithAttributes] forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a Core..!@ [DimensionValuesWithAttributes] forall a. Monoid a => a Prelude.mempty ) Either String (Int -> Int -> GetDimensionValuesResponse) -> Either String Int -> Either String (Int -> GetDimensionValuesResponse) forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b Prelude.<*> (Object x Object -> Text -> Either String Int forall a. FromJSON a => Object -> Text -> Either String a Core..:> Text "ReturnSize") Either String (Int -> GetDimensionValuesResponse) -> Either String Int -> Either String GetDimensionValuesResponse forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b Prelude.<*> (Object x Object -> Text -> Either String Int forall a. FromJSON a => Object -> Text -> Either String a Core..:> Text "TotalSize") ) instance Prelude.Hashable GetDimensionValues instance Prelude.NFData GetDimensionValues instance Core.ToHeaders GetDimensionValues where toHeaders :: GetDimensionValues -> ResponseHeaders toHeaders = ResponseHeaders -> GetDimensionValues -> ResponseHeaders forall a b. a -> b -> a Prelude.const ( [ResponseHeaders] -> ResponseHeaders forall a. Monoid a => [a] -> a Prelude.mconcat [ HeaderName "X-Amz-Target" HeaderName -> ByteString -> ResponseHeaders forall a. ToHeader a => HeaderName -> a -> ResponseHeaders Core.=# ( ByteString "AWSInsightsIndexService.GetDimensionValues" :: Prelude.ByteString ), HeaderName "Content-Type" HeaderName -> ByteString -> ResponseHeaders forall a. ToHeader a => HeaderName -> a -> ResponseHeaders Core.=# ( ByteString "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Core.ToJSON GetDimensionValues where toJSON :: GetDimensionValues -> Value toJSON GetDimensionValues' {Maybe Natural Maybe [SortDefinition] Maybe Text Maybe Context Maybe Expression DateInterval Dimension dimension :: Dimension timePeriod :: DateInterval sortBy :: Maybe [SortDefinition] maxResults :: Maybe Natural filter' :: Maybe Expression searchString :: Maybe Text context :: Maybe Context nextPageToken :: Maybe Text $sel:dimension:GetDimensionValues' :: GetDimensionValues -> Dimension $sel:timePeriod:GetDimensionValues' :: GetDimensionValues -> DateInterval $sel:sortBy:GetDimensionValues' :: GetDimensionValues -> Maybe [SortDefinition] $sel:maxResults:GetDimensionValues' :: GetDimensionValues -> Maybe Natural $sel:filter':GetDimensionValues' :: GetDimensionValues -> Maybe Expression $sel:searchString:GetDimensionValues' :: GetDimensionValues -> Maybe Text $sel:context:GetDimensionValues' :: GetDimensionValues -> Maybe Context $sel:nextPageToken:GetDimensionValues' :: GetDimensionValues -> Maybe Text ..} = [Pair] -> Value Core.object ( [Maybe Pair] -> [Pair] forall a. [Maybe a] -> [a] Prelude.catMaybes [ (Text "NextPageToken" Text -> Text -> Pair forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b Prelude.<$> Maybe Text nextPageToken, (Text "Context" Text -> Context -> Pair forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv Core..=) (Context -> Pair) -> Maybe Context -> Maybe Pair forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b Prelude.<$> Maybe Context context, (Text "SearchString" Text -> Text -> Pair forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b Prelude.<$> Maybe Text searchString, (Text "Filter" Text -> Expression -> Pair forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv Core..=) (Expression -> Pair) -> Maybe Expression -> Maybe Pair forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b Prelude.<$> Maybe Expression filter', (Text "MaxResults" Text -> Natural -> Pair forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv Core..=) (Natural -> Pair) -> Maybe Natural -> Maybe Pair forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b Prelude.<$> Maybe Natural maxResults, (Text "SortBy" Text -> [SortDefinition] -> Pair forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv Core..=) ([SortDefinition] -> Pair) -> Maybe [SortDefinition] -> Maybe Pair forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b Prelude.<$> Maybe [SortDefinition] sortBy, Pair -> Maybe Pair forall a. a -> Maybe a Prelude.Just (Text "TimePeriod" Text -> DateInterval -> Pair forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv Core..= DateInterval timePeriod), Pair -> Maybe Pair forall a. a -> Maybe a Prelude.Just (Text "Dimension" Text -> Dimension -> Pair forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv Core..= Dimension dimension) ] ) instance Core.ToPath GetDimensionValues where toPath :: GetDimensionValues -> ByteString toPath = ByteString -> GetDimensionValues -> ByteString forall a b. a -> b -> a Prelude.const ByteString "/" instance Core.ToQuery GetDimensionValues where toQuery :: GetDimensionValues -> QueryString toQuery = QueryString -> GetDimensionValues -> QueryString forall a b. a -> b -> a Prelude.const QueryString forall a. Monoid a => a Prelude.mempty -- | /See:/ 'newGetDimensionValuesResponse' smart constructor. data GetDimensionValuesResponse = GetDimensionValuesResponse' { -- | The token for the next set of retrievable results. Amazon Web Services -- provides the token when the response from a previous call has more -- results than the maximum page size. GetDimensionValuesResponse -> Maybe Text nextPageToken :: Prelude.Maybe Prelude.Text, -- | The response's http status code. GetDimensionValuesResponse -> Int httpStatus :: Prelude.Int, -- | The filters that you used to filter your request. Some dimensions are -- available only for a specific context. -- -- If you set the context to @COST_AND_USAGE@, you can use the following -- dimensions for searching: -- -- - AZ - The Availability Zone. An example is @us-east-1a@. -- -- - DATABASE_ENGINE - The Amazon Relational Database Service database. -- Examples are Aurora or MySQL. -- -- - INSTANCE_TYPE - The type of Amazon EC2 instance. An example is -- @m4.xlarge@. -- -- - LEGAL_ENTITY_NAME - The name of the organization that sells you -- Amazon Web Services services, such as Amazon Web Services. -- -- - LINKED_ACCOUNT - The description in the attribute map that includes -- the full name of the member account. The value field contains the -- Amazon Web Services ID of the member account. -- -- - OPERATING_SYSTEM - The operating system. Examples are Windows or -- Linux. -- -- - OPERATION - The action performed. Examples include @RunInstance@ and -- @CreateBucket@. -- -- - PLATFORM - The Amazon EC2 operating system. Examples are Windows or -- Linux. -- -- - PURCHASE_TYPE - The reservation type of the purchase to which this -- usage is related. Examples include On-Demand Instances and Standard -- Reserved Instances. -- -- - SERVICE - The Amazon Web Services service such as Amazon DynamoDB. -- -- - USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. -- The response for the @GetDimensionValues@ operation includes a unit -- attribute. Examples include GB and Hrs. -- -- - USAGE_TYPE_GROUP - The grouping of common usage types. An example is -- Amazon EC2: CloudWatch – Alarms. The response for this operation -- includes a unit attribute. -- -- - RECORD_TYPE - The different types of charges such as RI fees, usage -- costs, tax refunds, and credits. -- -- - RESOURCE_ID - The unique identifier of the resource. ResourceId is -- an opt-in feature only available for last 14 days for EC2-Compute -- Service. -- -- If you set the context to @RESERVATIONS@, you can use the following -- dimensions for searching: -- -- - AZ - The Availability Zone. An example is @us-east-1a@. -- -- - CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are -- Windows or Linux. -- -- - DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service -- deployments. Valid values are @SingleAZ@ and @MultiAZ@. -- -- - INSTANCE_TYPE - The type of Amazon EC2 instance. An example is -- @m4.xlarge@. -- -- - LINKED_ACCOUNT - The description in the attribute map that includes -- the full name of the member account. The value field contains the -- Amazon Web Services ID of the member account. -- -- - PLATFORM - The Amazon EC2 operating system. Examples are Windows or -- Linux. -- -- - REGION - The Amazon Web Services Region. -- -- - SCOPE (Utilization only) - The scope of a Reserved Instance (RI). -- Values are regional or a single Availability Zone. -- -- - TAG (Coverage only) - The tags that are associated with a Reserved -- Instance (RI). -- -- - TENANCY - The tenancy of a resource. Examples are shared or -- dedicated. -- -- If you set the context to @SAVINGS_PLANS@, you can use the following -- dimensions for searching: -- -- - SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute) -- -- - PAYMENT_OPTION - Payment option for the given Savings Plans (for -- example, All Upfront) -- -- - REGION - The Amazon Web Services Region. -- -- - INSTANCE_TYPE_FAMILY - The family of instances (For example, @m5@) -- -- - LINKED_ACCOUNT - The description in the attribute map that includes -- the full name of the member account. The value field contains the -- Amazon Web Services ID of the member account. -- -- - SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan GetDimensionValuesResponse -> [DimensionValuesWithAttributes] dimensionValues :: [DimensionValuesWithAttributes], -- | The number of results that Amazon Web Services returned at one time. GetDimensionValuesResponse -> Int returnSize :: Prelude.Int, -- | The total number of search results. GetDimensionValuesResponse -> Int totalSize :: Prelude.Int } deriving (GetDimensionValuesResponse -> GetDimensionValuesResponse -> Bool (GetDimensionValuesResponse -> GetDimensionValuesResponse -> Bool) -> (GetDimensionValuesResponse -> GetDimensionValuesResponse -> Bool) -> Eq GetDimensionValuesResponse forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: GetDimensionValuesResponse -> GetDimensionValuesResponse -> Bool $c/= :: GetDimensionValuesResponse -> GetDimensionValuesResponse -> Bool == :: GetDimensionValuesResponse -> GetDimensionValuesResponse -> Bool $c== :: GetDimensionValuesResponse -> GetDimensionValuesResponse -> Bool Prelude.Eq, ReadPrec [GetDimensionValuesResponse] ReadPrec GetDimensionValuesResponse Int -> ReadS GetDimensionValuesResponse ReadS [GetDimensionValuesResponse] (Int -> ReadS GetDimensionValuesResponse) -> ReadS [GetDimensionValuesResponse] -> ReadPrec GetDimensionValuesResponse -> ReadPrec [GetDimensionValuesResponse] -> Read GetDimensionValuesResponse forall a. (Int -> ReadS a) -> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a readListPrec :: ReadPrec [GetDimensionValuesResponse] $creadListPrec :: ReadPrec [GetDimensionValuesResponse] readPrec :: ReadPrec GetDimensionValuesResponse $creadPrec :: ReadPrec GetDimensionValuesResponse readList :: ReadS [GetDimensionValuesResponse] $creadList :: ReadS [GetDimensionValuesResponse] readsPrec :: Int -> ReadS GetDimensionValuesResponse $creadsPrec :: Int -> ReadS GetDimensionValuesResponse Prelude.Read, Int -> GetDimensionValuesResponse -> ShowS [GetDimensionValuesResponse] -> ShowS GetDimensionValuesResponse -> String (Int -> GetDimensionValuesResponse -> ShowS) -> (GetDimensionValuesResponse -> String) -> ([GetDimensionValuesResponse] -> ShowS) -> Show GetDimensionValuesResponse forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [GetDimensionValuesResponse] -> ShowS $cshowList :: [GetDimensionValuesResponse] -> ShowS show :: GetDimensionValuesResponse -> String $cshow :: GetDimensionValuesResponse -> String showsPrec :: Int -> GetDimensionValuesResponse -> ShowS $cshowsPrec :: Int -> GetDimensionValuesResponse -> ShowS Prelude.Show, (forall x. GetDimensionValuesResponse -> Rep GetDimensionValuesResponse x) -> (forall x. Rep GetDimensionValuesResponse x -> GetDimensionValuesResponse) -> Generic GetDimensionValuesResponse forall x. Rep GetDimensionValuesResponse x -> GetDimensionValuesResponse forall x. GetDimensionValuesResponse -> Rep GetDimensionValuesResponse x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep GetDimensionValuesResponse x -> GetDimensionValuesResponse $cfrom :: forall x. GetDimensionValuesResponse -> Rep GetDimensionValuesResponse x Prelude.Generic) -- | -- Create a value of 'GetDimensionValuesResponse' with all optional fields omitted. -- -- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields. -- -- The following record fields are available, with the corresponding lenses provided -- for backwards compatibility: -- -- 'nextPageToken', 'getDimensionValuesResponse_nextPageToken' - The token for the next set of retrievable results. Amazon Web Services -- provides the token when the response from a previous call has more -- results than the maximum page size. -- -- 'httpStatus', 'getDimensionValuesResponse_httpStatus' - The response's http status code. -- -- 'dimensionValues', 'getDimensionValuesResponse_dimensionValues' - The filters that you used to filter your request. Some dimensions are -- available only for a specific context. -- -- If you set the context to @COST_AND_USAGE@, you can use the following -- dimensions for searching: -- -- - AZ - The Availability Zone. An example is @us-east-1a@. -- -- - DATABASE_ENGINE - The Amazon Relational Database Service database. -- Examples are Aurora or MySQL. -- -- - INSTANCE_TYPE - The type of Amazon EC2 instance. An example is -- @m4.xlarge@. -- -- - LEGAL_ENTITY_NAME - The name of the organization that sells you -- Amazon Web Services services, such as Amazon Web Services. -- -- - LINKED_ACCOUNT - The description in the attribute map that includes -- the full name of the member account. The value field contains the -- Amazon Web Services ID of the member account. -- -- - OPERATING_SYSTEM - The operating system. Examples are Windows or -- Linux. -- -- - OPERATION - The action performed. Examples include @RunInstance@ and -- @CreateBucket@. -- -- - PLATFORM - The Amazon EC2 operating system. Examples are Windows or -- Linux. -- -- - PURCHASE_TYPE - The reservation type of the purchase to which this -- usage is related. Examples include On-Demand Instances and Standard -- Reserved Instances. -- -- - SERVICE - The Amazon Web Services service such as Amazon DynamoDB. -- -- - USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. -- The response for the @GetDimensionValues@ operation includes a unit -- attribute. Examples include GB and Hrs. -- -- - USAGE_TYPE_GROUP - The grouping of common usage types. An example is -- Amazon EC2: CloudWatch – Alarms. The response for this operation -- includes a unit attribute. -- -- - RECORD_TYPE - The different types of charges such as RI fees, usage -- costs, tax refunds, and credits. -- -- - RESOURCE_ID - The unique identifier of the resource. ResourceId is -- an opt-in feature only available for last 14 days for EC2-Compute -- Service. -- -- If you set the context to @RESERVATIONS@, you can use the following -- dimensions for searching: -- -- - AZ - The Availability Zone. An example is @us-east-1a@. -- -- - CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are -- Windows or Linux. -- -- - DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service -- deployments. Valid values are @SingleAZ@ and @MultiAZ@. -- -- - INSTANCE_TYPE - The type of Amazon EC2 instance. An example is -- @m4.xlarge@. -- -- - LINKED_ACCOUNT - The description in the attribute map that includes -- the full name of the member account. The value field contains the -- Amazon Web Services ID of the member account. -- -- - PLATFORM - The Amazon EC2 operating system. Examples are Windows or -- Linux. -- -- - REGION - The Amazon Web Services Region. -- -- - SCOPE (Utilization only) - The scope of a Reserved Instance (RI). -- Values are regional or a single Availability Zone. -- -- - TAG (Coverage only) - The tags that are associated with a Reserved -- Instance (RI). -- -- - TENANCY - The tenancy of a resource. Examples are shared or -- dedicated. -- -- If you set the context to @SAVINGS_PLANS@, you can use the following -- dimensions for searching: -- -- - SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute) -- -- - PAYMENT_OPTION - Payment option for the given Savings Plans (for -- example, All Upfront) -- -- - REGION - The Amazon Web Services Region. -- -- - INSTANCE_TYPE_FAMILY - The family of instances (For example, @m5@) -- -- - LINKED_ACCOUNT - The description in the attribute map that includes -- the full name of the member account. The value field contains the -- Amazon Web Services ID of the member account. -- -- - SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan -- -- 'returnSize', 'getDimensionValuesResponse_returnSize' - The number of results that Amazon Web Services returned at one time. -- -- 'totalSize', 'getDimensionValuesResponse_totalSize' - The total number of search results. newGetDimensionValuesResponse :: -- | 'httpStatus' Prelude.Int -> -- | 'returnSize' Prelude.Int -> -- | 'totalSize' Prelude.Int -> GetDimensionValuesResponse newGetDimensionValuesResponse :: Int -> Int -> Int -> GetDimensionValuesResponse newGetDimensionValuesResponse Int pHttpStatus_ Int pReturnSize_ Int pTotalSize_ = GetDimensionValuesResponse' :: Maybe Text -> Int -> [DimensionValuesWithAttributes] -> Int -> Int -> GetDimensionValuesResponse GetDimensionValuesResponse' { $sel:nextPageToken:GetDimensionValuesResponse' :: Maybe Text nextPageToken = Maybe Text forall a. Maybe a Prelude.Nothing, $sel:httpStatus:GetDimensionValuesResponse' :: Int httpStatus = Int pHttpStatus_, $sel:dimensionValues:GetDimensionValuesResponse' :: [DimensionValuesWithAttributes] dimensionValues = [DimensionValuesWithAttributes] forall a. Monoid a => a Prelude.mempty, $sel:returnSize:GetDimensionValuesResponse' :: Int returnSize = Int pReturnSize_, $sel:totalSize:GetDimensionValuesResponse' :: Int totalSize = Int pTotalSize_ } -- | The token for the next set of retrievable results. Amazon Web Services -- provides the token when the response from a previous call has more -- results than the maximum page size. getDimensionValuesResponse_nextPageToken :: Lens.Lens' GetDimensionValuesResponse (Prelude.Maybe Prelude.Text) getDimensionValuesResponse_nextPageToken :: (Maybe Text -> f (Maybe Text)) -> GetDimensionValuesResponse -> f GetDimensionValuesResponse getDimensionValuesResponse_nextPageToken = (GetDimensionValuesResponse -> Maybe Text) -> (GetDimensionValuesResponse -> Maybe Text -> GetDimensionValuesResponse) -> Lens GetDimensionValuesResponse GetDimensionValuesResponse (Maybe Text) (Maybe Text) forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b Lens.lens (\GetDimensionValuesResponse' {Maybe Text nextPageToken :: Maybe Text $sel:nextPageToken:GetDimensionValuesResponse' :: GetDimensionValuesResponse -> Maybe Text nextPageToken} -> Maybe Text nextPageToken) (\s :: GetDimensionValuesResponse s@GetDimensionValuesResponse' {} Maybe Text a -> GetDimensionValuesResponse s {$sel:nextPageToken:GetDimensionValuesResponse' :: Maybe Text nextPageToken = Maybe Text a} :: GetDimensionValuesResponse) -- | The response's http status code. getDimensionValuesResponse_httpStatus :: Lens.Lens' GetDimensionValuesResponse Prelude.Int getDimensionValuesResponse_httpStatus :: (Int -> f Int) -> GetDimensionValuesResponse -> f GetDimensionValuesResponse getDimensionValuesResponse_httpStatus = (GetDimensionValuesResponse -> Int) -> (GetDimensionValuesResponse -> Int -> GetDimensionValuesResponse) -> Lens GetDimensionValuesResponse GetDimensionValuesResponse Int Int forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b Lens.lens (\GetDimensionValuesResponse' {Int httpStatus :: Int $sel:httpStatus:GetDimensionValuesResponse' :: GetDimensionValuesResponse -> Int httpStatus} -> Int httpStatus) (\s :: GetDimensionValuesResponse s@GetDimensionValuesResponse' {} Int a -> GetDimensionValuesResponse s {$sel:httpStatus:GetDimensionValuesResponse' :: Int httpStatus = Int a} :: GetDimensionValuesResponse) -- | The filters that you used to filter your request. Some dimensions are -- available only for a specific context. -- -- If you set the context to @COST_AND_USAGE@, you can use the following -- dimensions for searching: -- -- - AZ - The Availability Zone. An example is @us-east-1a@. -- -- - DATABASE_ENGINE - The Amazon Relational Database Service database. -- Examples are Aurora or MySQL. -- -- - INSTANCE_TYPE - The type of Amazon EC2 instance. An example is -- @m4.xlarge@. -- -- - LEGAL_ENTITY_NAME - The name of the organization that sells you -- Amazon Web Services services, such as Amazon Web Services. -- -- - LINKED_ACCOUNT - The description in the attribute map that includes -- the full name of the member account. The value field contains the -- Amazon Web Services ID of the member account. -- -- - OPERATING_SYSTEM - The operating system. Examples are Windows or -- Linux. -- -- - OPERATION - The action performed. Examples include @RunInstance@ and -- @CreateBucket@. -- -- - PLATFORM - The Amazon EC2 operating system. Examples are Windows or -- Linux. -- -- - PURCHASE_TYPE - The reservation type of the purchase to which this -- usage is related. Examples include On-Demand Instances and Standard -- Reserved Instances. -- -- - SERVICE - The Amazon Web Services service such as Amazon DynamoDB. -- -- - USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. -- The response for the @GetDimensionValues@ operation includes a unit -- attribute. Examples include GB and Hrs. -- -- - USAGE_TYPE_GROUP - The grouping of common usage types. An example is -- Amazon EC2: CloudWatch – Alarms. The response for this operation -- includes a unit attribute. -- -- - RECORD_TYPE - The different types of charges such as RI fees, usage -- costs, tax refunds, and credits. -- -- - RESOURCE_ID - The unique identifier of the resource. ResourceId is -- an opt-in feature only available for last 14 days for EC2-Compute -- Service. -- -- If you set the context to @RESERVATIONS@, you can use the following -- dimensions for searching: -- -- - AZ - The Availability Zone. An example is @us-east-1a@. -- -- - CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are -- Windows or Linux. -- -- - DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service -- deployments. Valid values are @SingleAZ@ and @MultiAZ@. -- -- - INSTANCE_TYPE - The type of Amazon EC2 instance. An example is -- @m4.xlarge@. -- -- - LINKED_ACCOUNT - The description in the attribute map that includes -- the full name of the member account. The value field contains the -- Amazon Web Services ID of the member account. -- -- - PLATFORM - The Amazon EC2 operating system. Examples are Windows or -- Linux. -- -- - REGION - The Amazon Web Services Region. -- -- - SCOPE (Utilization only) - The scope of a Reserved Instance (RI). -- Values are regional or a single Availability Zone. -- -- - TAG (Coverage only) - The tags that are associated with a Reserved -- Instance (RI). -- -- - TENANCY - The tenancy of a resource. Examples are shared or -- dedicated. -- -- If you set the context to @SAVINGS_PLANS@, you can use the following -- dimensions for searching: -- -- - SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute) -- -- - PAYMENT_OPTION - Payment option for the given Savings Plans (for -- example, All Upfront) -- -- - REGION - The Amazon Web Services Region. -- -- - INSTANCE_TYPE_FAMILY - The family of instances (For example, @m5@) -- -- - LINKED_ACCOUNT - The description in the attribute map that includes -- the full name of the member account. The value field contains the -- Amazon Web Services ID of the member account. -- -- - SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan getDimensionValuesResponse_dimensionValues :: Lens.Lens' GetDimensionValuesResponse [DimensionValuesWithAttributes] getDimensionValuesResponse_dimensionValues :: ([DimensionValuesWithAttributes] -> f [DimensionValuesWithAttributes]) -> GetDimensionValuesResponse -> f GetDimensionValuesResponse getDimensionValuesResponse_dimensionValues = (GetDimensionValuesResponse -> [DimensionValuesWithAttributes]) -> (GetDimensionValuesResponse -> [DimensionValuesWithAttributes] -> GetDimensionValuesResponse) -> Lens GetDimensionValuesResponse GetDimensionValuesResponse [DimensionValuesWithAttributes] [DimensionValuesWithAttributes] forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b Lens.lens (\GetDimensionValuesResponse' {[DimensionValuesWithAttributes] dimensionValues :: [DimensionValuesWithAttributes] $sel:dimensionValues:GetDimensionValuesResponse' :: GetDimensionValuesResponse -> [DimensionValuesWithAttributes] dimensionValues} -> [DimensionValuesWithAttributes] dimensionValues) (\s :: GetDimensionValuesResponse s@GetDimensionValuesResponse' {} [DimensionValuesWithAttributes] a -> GetDimensionValuesResponse s {$sel:dimensionValues:GetDimensionValuesResponse' :: [DimensionValuesWithAttributes] dimensionValues = [DimensionValuesWithAttributes] a} :: GetDimensionValuesResponse) (([DimensionValuesWithAttributes] -> f [DimensionValuesWithAttributes]) -> GetDimensionValuesResponse -> f GetDimensionValuesResponse) -> (([DimensionValuesWithAttributes] -> f [DimensionValuesWithAttributes]) -> [DimensionValuesWithAttributes] -> f [DimensionValuesWithAttributes]) -> ([DimensionValuesWithAttributes] -> f [DimensionValuesWithAttributes]) -> GetDimensionValuesResponse -> f GetDimensionValuesResponse forall b c a. (b -> c) -> (a -> b) -> a -> c Prelude.. ([DimensionValuesWithAttributes] -> f [DimensionValuesWithAttributes]) -> [DimensionValuesWithAttributes] -> f [DimensionValuesWithAttributes] forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b Lens.coerced -- | The number of results that Amazon Web Services returned at one time. getDimensionValuesResponse_returnSize :: Lens.Lens' GetDimensionValuesResponse Prelude.Int getDimensionValuesResponse_returnSize :: (Int -> f Int) -> GetDimensionValuesResponse -> f GetDimensionValuesResponse getDimensionValuesResponse_returnSize = (GetDimensionValuesResponse -> Int) -> (GetDimensionValuesResponse -> Int -> GetDimensionValuesResponse) -> Lens GetDimensionValuesResponse GetDimensionValuesResponse Int Int forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b Lens.lens (\GetDimensionValuesResponse' {Int returnSize :: Int $sel:returnSize:GetDimensionValuesResponse' :: GetDimensionValuesResponse -> Int returnSize} -> Int returnSize) (\s :: GetDimensionValuesResponse s@GetDimensionValuesResponse' {} Int a -> GetDimensionValuesResponse s {$sel:returnSize:GetDimensionValuesResponse' :: Int returnSize = Int a} :: GetDimensionValuesResponse) -- | The total number of search results. getDimensionValuesResponse_totalSize :: Lens.Lens' GetDimensionValuesResponse Prelude.Int getDimensionValuesResponse_totalSize :: (Int -> f Int) -> GetDimensionValuesResponse -> f GetDimensionValuesResponse getDimensionValuesResponse_totalSize = (GetDimensionValuesResponse -> Int) -> (GetDimensionValuesResponse -> Int -> GetDimensionValuesResponse) -> Lens GetDimensionValuesResponse GetDimensionValuesResponse Int Int forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b Lens.lens (\GetDimensionValuesResponse' {Int totalSize :: Int $sel:totalSize:GetDimensionValuesResponse' :: GetDimensionValuesResponse -> Int totalSize} -> Int totalSize) (\s :: GetDimensionValuesResponse s@GetDimensionValuesResponse' {} Int a -> GetDimensionValuesResponse s {$sel:totalSize:GetDimensionValuesResponse' :: Int totalSize = Int a} :: GetDimensionValuesResponse) instance Prelude.NFData GetDimensionValuesResponse