{-# 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-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- 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_context, getDimensionValues_filter, getDimensionValues_maxResults, getDimensionValues_nextPageToken, getDimensionValues_searchString, 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 qualified Amazonka.Core.Lens.Internal as Lens import Amazonka.CostExplorer.Types import qualified Amazonka.Data as Data 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 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@. -- -- - BILLING_ENTITY - The Amazon Web Services seller that your account is -- with. Possible values are the following: -- -- - Amazon Web Services(Amazon Web Services): The entity that sells -- Amazon Web Services. -- -- - AISPL (Amazon Internet Services Pvt. Ltd.): The local Indian -- entity that\'s an acting reseller for Amazon Web Services in India. -- -- - Amazon Web Services Marketplace: The entity that supports the sale -- of solutions that are built on Amazon Web Services by third-party -- software providers. -- -- - 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@. -- -- - 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@. -- -- - INSTANCE_TYPE_FAMILY - A family of instance types optimized to fit -- different use cases. Examples are @Compute Optimized@ (for example, -- @C4@, @C5@, @C6g@, and @C7g@), @Memory Optimization@ (for example, -- @R4@, @R5n@, @R5b@, and @R6g@). -- -- - INVOICING_ENTITY - The name of the entity that issues the Amazon Web -- Services invoice. -- -- - 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 that this usage -- is related to. Examples include On-Demand Instances and Standard -- Reserved Instances. -- -- - RESERVATION_ID - The unique identifier for an Amazon Web Services -- Reservation Instance. -- -- - SAVINGS_PLAN_ARN - The unique identifier for your Savings Plans. -- -- - SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or -- Compute). -- -- - SERVICE - The Amazon Web Services service such as Amazon DynamoDB. -- -- - TENANCY - The tenancy of a resource. Examples are shared or -- dedicated. -- -- - 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 Reserved -- Instance (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 - The 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 Plans. GetDimensionValues -> Maybe Context context :: Prelude.Maybe Context, 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 are returned for this request. If -- MaxResults isn\'t specified with SortBy, the request returns 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 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 value that you want to search the filter values for. GetDimensionValues -> Maybe Text searchString :: Prelude.Maybe Prelude.Text, -- | The value that you want to sort the data by. -- -- The key represents cost and usage metrics. The following values are -- supported: -- -- - @BlendedCost@ -- -- - @UnblendedCost@ -- -- - @AmortizedCost@ -- -- - @NetAmortizedCost@ -- -- - @NetUnblendedCost@ -- -- - @UsageQuantity@ -- -- - @NormalizedUsageAmount@ -- -- The supported values for the @SortOrder@ key are @ASCENDING@ or -- @DESCENDING@. -- -- When you specify a @SortBy@ paramater, the context must be -- @COST_AND_USAGE@. Further, when using @SortBy@, @NextPageToken@ and -- @SearchString@ aren\'t 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@. @LINK_ACCOUNT_NAME@ and -- @SERVICE_CODE@ can only be used in -- <https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/AAPI_CostCategoryRule.html CostCategoryRule>. GetDimensionValues -> Dimension dimension :: Dimension } deriving (GetDimensionValues -> GetDimensionValues -> Bool 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] 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 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. 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: -- -- '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@. -- -- - BILLING_ENTITY - The Amazon Web Services seller that your account is -- with. Possible values are the following: -- -- - Amazon Web Services(Amazon Web Services): The entity that sells -- Amazon Web Services. -- -- - AISPL (Amazon Internet Services Pvt. Ltd.): The local Indian -- entity that\'s an acting reseller for Amazon Web Services in India. -- -- - Amazon Web Services Marketplace: The entity that supports the sale -- of solutions that are built on Amazon Web Services by third-party -- software providers. -- -- - 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@. -- -- - 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@. -- -- - INSTANCE_TYPE_FAMILY - A family of instance types optimized to fit -- different use cases. Examples are @Compute Optimized@ (for example, -- @C4@, @C5@, @C6g@, and @C7g@), @Memory Optimization@ (for example, -- @R4@, @R5n@, @R5b@, and @R6g@). -- -- - INVOICING_ENTITY - The name of the entity that issues the Amazon Web -- Services invoice. -- -- - 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 that this usage -- is related to. Examples include On-Demand Instances and Standard -- Reserved Instances. -- -- - RESERVATION_ID - The unique identifier for an Amazon Web Services -- Reservation Instance. -- -- - SAVINGS_PLAN_ARN - The unique identifier for your Savings Plans. -- -- - SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or -- Compute). -- -- - SERVICE - The Amazon Web Services service such as Amazon DynamoDB. -- -- - TENANCY - The tenancy of a resource. Examples are shared or -- dedicated. -- -- - 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 Reserved -- Instance (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 - The 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 Plans. -- -- '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 are returned for this request. If -- MaxResults isn\'t specified with SortBy, the request returns 1000 -- results as the default value for this parameter. -- -- For @GetDimensionValues@, MaxResults has an upper limit of 1000. -- -- '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. -- -- 'searchString', 'getDimensionValues_searchString' - The value that you want to search the filter values for. -- -- 'sortBy', 'getDimensionValues_sortBy' - The value that you want to sort the data by. -- -- The key represents cost and usage metrics. The following values are -- supported: -- -- - @BlendedCost@ -- -- - @UnblendedCost@ -- -- - @AmortizedCost@ -- -- - @NetAmortizedCost@ -- -- - @NetUnblendedCost@ -- -- - @UsageQuantity@ -- -- - @NormalizedUsageAmount@ -- -- The supported values for the @SortOrder@ key are @ASCENDING@ or -- @DESCENDING@. -- -- When you specify a @SortBy@ paramater, the context must be -- @COST_AND_USAGE@. Further, when using @SortBy@, @NextPageToken@ and -- @SearchString@ aren\'t 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@. @LINK_ACCOUNT_NAME@ and -- @SERVICE_CODE@ can only be used in -- <https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/AAPI_CostCategoryRule.html CostCategoryRule>. newGetDimensionValues :: -- | 'timePeriod' DateInterval -> -- | 'dimension' Dimension -> GetDimensionValues newGetDimensionValues :: DateInterval -> Dimension -> GetDimensionValues newGetDimensionValues DateInterval pTimePeriod_ Dimension pDimension_ = GetDimensionValues' { $sel:context:GetDimensionValues' :: Maybe Context context = forall a. Maybe a Prelude.Nothing, $sel:filter':GetDimensionValues' :: Maybe Expression filter' = forall a. Maybe a Prelude.Nothing, $sel:maxResults:GetDimensionValues' :: Maybe Natural maxResults = forall a. Maybe a Prelude.Nothing, $sel:nextPageToken:GetDimensionValues' :: Maybe Text nextPageToken = forall a. Maybe a Prelude.Nothing, $sel:searchString:GetDimensionValues' :: Maybe Text searchString = forall a. Maybe a Prelude.Nothing, $sel:sortBy:GetDimensionValues' :: Maybe [SortDefinition] sortBy = forall a. Maybe a Prelude.Nothing, $sel:timePeriod:GetDimensionValues' :: DateInterval timePeriod = DateInterval pTimePeriod_, $sel:dimension:GetDimensionValues' :: Dimension dimension = Dimension pDimension_ } -- | 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@. -- -- - BILLING_ENTITY - The Amazon Web Services seller that your account is -- with. Possible values are the following: -- -- - Amazon Web Services(Amazon Web Services): The entity that sells -- Amazon Web Services. -- -- - AISPL (Amazon Internet Services Pvt. Ltd.): The local Indian -- entity that\'s an acting reseller for Amazon Web Services in India. -- -- - Amazon Web Services Marketplace: The entity that supports the sale -- of solutions that are built on Amazon Web Services by third-party -- software providers. -- -- - 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@. -- -- - 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@. -- -- - INSTANCE_TYPE_FAMILY - A family of instance types optimized to fit -- different use cases. Examples are @Compute Optimized@ (for example, -- @C4@, @C5@, @C6g@, and @C7g@), @Memory Optimization@ (for example, -- @R4@, @R5n@, @R5b@, and @R6g@). -- -- - INVOICING_ENTITY - The name of the entity that issues the Amazon Web -- Services invoice. -- -- - 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 that this usage -- is related to. Examples include On-Demand Instances and Standard -- Reserved Instances. -- -- - RESERVATION_ID - The unique identifier for an Amazon Web Services -- Reservation Instance. -- -- - SAVINGS_PLAN_ARN - The unique identifier for your Savings Plans. -- -- - SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or -- Compute). -- -- - SERVICE - The Amazon Web Services service such as Amazon DynamoDB. -- -- - TENANCY - The tenancy of a resource. Examples are shared or -- dedicated. -- -- - 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 Reserved -- Instance (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 - The 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 Plans. getDimensionValues_context :: Lens.Lens' GetDimensionValues (Prelude.Maybe Context) getDimensionValues_context :: Lens' GetDimensionValues (Maybe Context) getDimensionValues_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) -- | Undocumented member. getDimensionValues_filter :: Lens.Lens' GetDimensionValues (Prelude.Maybe Expression) getDimensionValues_filter :: Lens' GetDimensionValues (Maybe Expression) getDimensionValues_filter = 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 are returned for this request. If -- MaxResults isn\'t specified with SortBy, the request returns 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 :: Lens' GetDimensionValues (Maybe Natural) getDimensionValues_maxResults = 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 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 :: Lens' GetDimensionValues (Maybe Text) getDimensionValues_nextPageToken = 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 value that you want to search the filter values for. getDimensionValues_searchString :: Lens.Lens' GetDimensionValues (Prelude.Maybe Prelude.Text) getDimensionValues_searchString :: Lens' GetDimensionValues (Maybe Text) getDimensionValues_searchString = 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) -- | The value that you want to sort the data by. -- -- The key represents cost and usage metrics. The following values are -- supported: -- -- - @BlendedCost@ -- -- - @UnblendedCost@ -- -- - @AmortizedCost@ -- -- - @NetAmortizedCost@ -- -- - @NetUnblendedCost@ -- -- - @UsageQuantity@ -- -- - @NormalizedUsageAmount@ -- -- The supported values for the @SortOrder@ key are @ASCENDING@ or -- @DESCENDING@. -- -- When you specify a @SortBy@ paramater, the context must be -- @COST_AND_USAGE@. Further, when using @SortBy@, @NextPageToken@ and -- @SearchString@ aren\'t supported. getDimensionValues_sortBy :: Lens.Lens' GetDimensionValues (Prelude.Maybe [SortDefinition]) getDimensionValues_sortBy :: Lens' GetDimensionValues (Maybe [SortDefinition]) getDimensionValues_sortBy = 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) forall b c a. (b -> c) -> (a -> b) -> a -> c Prelude.. 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 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 :: Lens' GetDimensionValues DateInterval getDimensionValues_timePeriod = 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@. @LINK_ACCOUNT_NAME@ and -- @SERVICE_CODE@ can only be used in -- <https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/AAPI_CostCategoryRule.html CostCategoryRule>. getDimensionValues_dimension :: Lens.Lens' GetDimensionValues Dimension getDimensionValues_dimension :: Lens' GetDimensionValues Dimension getDimensionValues_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 :: (Service -> Service) -> GetDimensionValues -> Request GetDimensionValues request Service -> Service overrides = forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a Request.postJSON (Service -> Service overrides Service defaultService) response :: forall (m :: * -> *). MonadResource m => (ByteStringLazy -> IO ByteStringLazy) -> Service -> Proxy GetDimensionValues -> ClientResponse ClientBody -> m (Either Error (ClientResponse (AWSResponse GetDimensionValues))) response = forall (m :: * -> *) a. MonadResource m => (Int -> ResponseHeaders -> Object -> Either String (AWSResponse a)) -> (ByteStringLazy -> IO ByteStringLazy) -> 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' forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b Prelude.<$> (Object x forall a. FromJSON a => Object -> Key -> Either String (Maybe a) Data..?> Key "NextPageToken") 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)) forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b Prelude.<*> ( Object x forall a. FromJSON a => Object -> Key -> Either String (Maybe a) Data..?> Key "DimensionValues" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a Core..!@ forall a. Monoid a => a Prelude.mempty ) forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b Prelude.<*> (Object x forall a. FromJSON a => Object -> Key -> Either String a Data..:> Key "ReturnSize") forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b Prelude.<*> (Object x forall a. FromJSON a => Object -> Key -> Either String a Data..:> Key "TotalSize") ) instance Prelude.Hashable GetDimensionValues where hashWithSalt :: Int -> GetDimensionValues -> Int hashWithSalt Int _salt GetDimensionValues' {Maybe Natural Maybe [SortDefinition] Maybe Text Maybe Context Maybe Expression DateInterval Dimension dimension :: Dimension timePeriod :: DateInterval sortBy :: Maybe [SortDefinition] searchString :: Maybe Text nextPageToken :: Maybe Text maxResults :: Maybe Natural filter' :: Maybe Expression context :: Maybe Context $sel:dimension:GetDimensionValues' :: GetDimensionValues -> Dimension $sel:timePeriod:GetDimensionValues' :: GetDimensionValues -> DateInterval $sel:sortBy:GetDimensionValues' :: GetDimensionValues -> Maybe [SortDefinition] $sel:searchString:GetDimensionValues' :: GetDimensionValues -> Maybe Text $sel:nextPageToken:GetDimensionValues' :: GetDimensionValues -> Maybe Text $sel:maxResults:GetDimensionValues' :: GetDimensionValues -> Maybe Natural $sel:filter':GetDimensionValues' :: GetDimensionValues -> Maybe Expression $sel:context:GetDimensionValues' :: GetDimensionValues -> Maybe Context ..} = Int _salt forall a. Hashable a => Int -> a -> Int `Prelude.hashWithSalt` Maybe Context context forall a. Hashable a => Int -> a -> Int `Prelude.hashWithSalt` Maybe Expression filter' forall a. Hashable a => Int -> a -> Int `Prelude.hashWithSalt` Maybe Natural maxResults forall a. Hashable a => Int -> a -> Int `Prelude.hashWithSalt` Maybe Text nextPageToken forall a. Hashable a => Int -> a -> Int `Prelude.hashWithSalt` Maybe Text searchString forall a. Hashable a => Int -> a -> Int `Prelude.hashWithSalt` Maybe [SortDefinition] sortBy forall a. Hashable a => Int -> a -> Int `Prelude.hashWithSalt` DateInterval timePeriod forall a. Hashable a => Int -> a -> Int `Prelude.hashWithSalt` Dimension dimension instance Prelude.NFData GetDimensionValues where rnf :: GetDimensionValues -> () rnf GetDimensionValues' {Maybe Natural Maybe [SortDefinition] Maybe Text Maybe Context Maybe Expression DateInterval Dimension dimension :: Dimension timePeriod :: DateInterval sortBy :: Maybe [SortDefinition] searchString :: Maybe Text nextPageToken :: Maybe Text maxResults :: Maybe Natural filter' :: Maybe Expression context :: Maybe Context $sel:dimension:GetDimensionValues' :: GetDimensionValues -> Dimension $sel:timePeriod:GetDimensionValues' :: GetDimensionValues -> DateInterval $sel:sortBy:GetDimensionValues' :: GetDimensionValues -> Maybe [SortDefinition] $sel:searchString:GetDimensionValues' :: GetDimensionValues -> Maybe Text $sel:nextPageToken:GetDimensionValues' :: GetDimensionValues -> Maybe Text $sel:maxResults:GetDimensionValues' :: GetDimensionValues -> Maybe Natural $sel:filter':GetDimensionValues' :: GetDimensionValues -> Maybe Expression $sel:context:GetDimensionValues' :: GetDimensionValues -> Maybe Context ..} = forall a. NFData a => a -> () Prelude.rnf Maybe Context context seq :: forall a b. a -> b -> b `Prelude.seq` forall a. NFData a => a -> () Prelude.rnf Maybe Expression filter' seq :: forall a b. a -> b -> b `Prelude.seq` forall a. NFData a => a -> () Prelude.rnf Maybe Natural maxResults seq :: forall a b. a -> b -> b `Prelude.seq` forall a. NFData a => a -> () Prelude.rnf Maybe Text nextPageToken seq :: forall a b. a -> b -> b `Prelude.seq` forall a. NFData a => a -> () Prelude.rnf Maybe Text searchString seq :: forall a b. a -> b -> b `Prelude.seq` forall a. NFData a => a -> () Prelude.rnf Maybe [SortDefinition] sortBy seq :: forall a b. a -> b -> b `Prelude.seq` forall a. NFData a => a -> () Prelude.rnf DateInterval timePeriod seq :: forall a b. a -> b -> b `Prelude.seq` forall a. NFData a => a -> () Prelude.rnf Dimension dimension instance Data.ToHeaders GetDimensionValues where toHeaders :: GetDimensionValues -> ResponseHeaders toHeaders = forall a b. a -> b -> a Prelude.const ( forall a. Monoid a => [a] -> a Prelude.mconcat [ HeaderName "X-Amz-Target" forall a. ToHeader a => HeaderName -> a -> ResponseHeaders Data.=# ( ByteString "AWSInsightsIndexService.GetDimensionValues" :: Prelude.ByteString ), HeaderName "Content-Type" forall a. ToHeader a => HeaderName -> a -> ResponseHeaders Data.=# ( ByteString "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.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] searchString :: Maybe Text nextPageToken :: Maybe Text maxResults :: Maybe Natural filter' :: Maybe Expression context :: Maybe Context $sel:dimension:GetDimensionValues' :: GetDimensionValues -> Dimension $sel:timePeriod:GetDimensionValues' :: GetDimensionValues -> DateInterval $sel:sortBy:GetDimensionValues' :: GetDimensionValues -> Maybe [SortDefinition] $sel:searchString:GetDimensionValues' :: GetDimensionValues -> Maybe Text $sel:nextPageToken:GetDimensionValues' :: GetDimensionValues -> Maybe Text $sel:maxResults:GetDimensionValues' :: GetDimensionValues -> Maybe Natural $sel:filter':GetDimensionValues' :: GetDimensionValues -> Maybe Expression $sel:context:GetDimensionValues' :: GetDimensionValues -> Maybe Context ..} = [Pair] -> Value Data.object ( forall a. [Maybe a] -> [a] Prelude.catMaybes [ (Key "Context" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b Prelude.<$> Maybe Context context, (Key "Filter" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b Prelude.<$> Maybe Expression filter', (Key "MaxResults" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b Prelude.<$> Maybe Natural maxResults, (Key "NextPageToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b Prelude.<$> Maybe Text nextPageToken, (Key "SearchString" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b Prelude.<$> Maybe Text searchString, (Key "SortBy" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b Prelude.<$> Maybe [SortDefinition] sortBy, forall a. a -> Maybe a Prelude.Just (Key "TimePeriod" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv Data..= DateInterval timePeriod), forall a. a -> Maybe a Prelude.Just (Key "Dimension" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv Data..= Dimension dimension) ] ) instance Data.ToPath GetDimensionValues where toPath :: GetDimensionValues -> ByteString toPath = forall a b. a -> b -> a Prelude.const ByteString "/" instance Data.ToQuery GetDimensionValues where toQuery :: GetDimensionValues -> QueryString toQuery = forall a b. a -> b -> a Prelude.const 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. You can opt-in by enabling @Hourly@ and -- @Resource Level Data@ in Cost Management Console preferences. -- -- 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 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] 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 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. 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. You can opt-in by enabling @Hourly@ and -- @Resource Level Data@ in Cost Management Console preferences. -- -- 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' { $sel:nextPageToken:GetDimensionValuesResponse' :: Maybe Text nextPageToken = forall a. Maybe a Prelude.Nothing, $sel:httpStatus:GetDimensionValuesResponse' :: Int httpStatus = Int pHttpStatus_, $sel:dimensionValues:GetDimensionValuesResponse' :: [DimensionValuesWithAttributes] dimensionValues = 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 :: Lens' GetDimensionValuesResponse (Maybe Text) getDimensionValuesResponse_nextPageToken = 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 :: Lens' GetDimensionValuesResponse Int getDimensionValuesResponse_httpStatus = 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. You can opt-in by enabling @Hourly@ and -- @Resource Level Data@ in Cost Management Console preferences. -- -- 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 :: Lens' GetDimensionValuesResponse [DimensionValuesWithAttributes] getDimensionValuesResponse_dimensionValues = 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) forall b c a. (b -> c) -> (a -> b) -> a -> c Prelude.. 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 :: Lens' GetDimensionValuesResponse Int getDimensionValuesResponse_returnSize = 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 :: Lens' GetDimensionValuesResponse Int getDimensionValuesResponse_totalSize = 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 where rnf :: GetDimensionValuesResponse -> () rnf GetDimensionValuesResponse' {Int [DimensionValuesWithAttributes] Maybe Text totalSize :: Int returnSize :: Int dimensionValues :: [DimensionValuesWithAttributes] httpStatus :: Int nextPageToken :: Maybe Text $sel:totalSize:GetDimensionValuesResponse' :: GetDimensionValuesResponse -> Int $sel:returnSize:GetDimensionValuesResponse' :: GetDimensionValuesResponse -> Int $sel:dimensionValues:GetDimensionValuesResponse' :: GetDimensionValuesResponse -> [DimensionValuesWithAttributes] $sel:httpStatus:GetDimensionValuesResponse' :: GetDimensionValuesResponse -> Int $sel:nextPageToken:GetDimensionValuesResponse' :: GetDimensionValuesResponse -> Maybe Text ..} = forall a. NFData a => a -> () Prelude.rnf Maybe Text nextPageToken seq :: forall a b. a -> b -> b `Prelude.seq` forall a. NFData a => a -> () Prelude.rnf Int httpStatus seq :: forall a b. a -> b -> b `Prelude.seq` forall a. NFData a => a -> () Prelude.rnf [DimensionValuesWithAttributes] dimensionValues seq :: forall a b. a -> b -> b `Prelude.seq` forall a. NFData a => a -> () Prelude.rnf Int returnSize seq :: forall a b. a -> b -> b `Prelude.seq` forall a. NFData a => a -> () Prelude.rnf Int totalSize