Module: Aws::CostExplorer::ClientApi Private

Includes:
Seahorse::Model
Defined in:
lib/aws-sdk-costexplorer/client_api.rb

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Constant Summary collapse

AccountScope =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AccountScope')
AmortizedRecurringFee =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AmortizedRecurringFee')
AmortizedUpfrontFee =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AmortizedUpfrontFee')
Anomalies =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'Anomalies')
Anomaly =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Anomaly')
AnomalyDateInterval =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AnomalyDateInterval')
AnomalyFeedbackType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AnomalyFeedbackType')
AnomalyMonitor =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AnomalyMonitor')
AnomalyMonitors =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AnomalyMonitors')
AnomalyScore =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AnomalyScore')
AnomalySubscription =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AnomalySubscription')
AnomalySubscriptionFrequency =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AnomalySubscriptionFrequency')
AnomalySubscriptions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AnomalySubscriptions')
ApproximateUsageRecordsPerService =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::MapShape.new(name: 'ApproximateUsageRecordsPerService')
ApproximationDimension =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ApproximationDimension')
Arn =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Arn')
AttributeType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AttributeType')
AttributeValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AttributeValue')
Attributes =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::MapShape.new(name: 'Attributes')
BackfillLimitExceededException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BackfillLimitExceededException')
BillExpirationException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BillExpirationException')
Context =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Context')
CostAllocationTag =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CostAllocationTag')
CostAllocationTagBackfillRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CostAllocationTagBackfillRequest')
CostAllocationTagBackfillRequestList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CostAllocationTagBackfillRequestList')
CostAllocationTagBackfillStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CostAllocationTagBackfillStatus')
CostAllocationTagKeyList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CostAllocationTagKeyList')
CostAllocationTagList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CostAllocationTagList')
CostAllocationTagStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CostAllocationTagStatus')
CostAllocationTagStatusEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CostAllocationTagStatusEntry')
CostAllocationTagStatusList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CostAllocationTagStatusList')
CostAllocationTagType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CostAllocationTagType')
CostAllocationTagsMaxResults =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'CostAllocationTagsMaxResults')
CostCategory =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CostCategory')
CostCategoryInheritedValueDimension =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CostCategoryInheritedValueDimension')
CostCategoryInheritedValueDimensionName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CostCategoryInheritedValueDimensionName')
CostCategoryMaxResults =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'CostCategoryMaxResults')
CostCategoryName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CostCategoryName')
CostCategoryNamesList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CostCategoryNamesList')
CostCategoryProcessingStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CostCategoryProcessingStatus')
CostCategoryProcessingStatusList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CostCategoryProcessingStatusList')
CostCategoryReference =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CostCategoryReference')
CostCategoryReferencesList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CostCategoryReferencesList')
CostCategoryRule =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CostCategoryRule')
CostCategoryRuleType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CostCategoryRuleType')
CostCategoryRuleVersion =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CostCategoryRuleVersion')
CostCategoryRulesList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CostCategoryRulesList')
CostCategorySplitChargeMethod =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CostCategorySplitChargeMethod')
CostCategorySplitChargeRule =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CostCategorySplitChargeRule')
CostCategorySplitChargeRuleParameter =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CostCategorySplitChargeRuleParameter')
CostCategorySplitChargeRuleParameterType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CostCategorySplitChargeRuleParameterType')
CostCategorySplitChargeRuleParameterValuesList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CostCategorySplitChargeRuleParameterValuesList')
CostCategorySplitChargeRuleParametersList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CostCategorySplitChargeRuleParametersList')
CostCategorySplitChargeRuleTargetsList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CostCategorySplitChargeRuleTargetsList')
CostCategorySplitChargeRulesList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CostCategorySplitChargeRulesList')
CostCategoryStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CostCategoryStatus')
CostCategoryStatusComponent =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CostCategoryStatusComponent')
CostCategoryValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CostCategoryValue')
CostCategoryValues =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CostCategoryValues')
CostCategoryValuesList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CostCategoryValuesList')
Coverage =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Coverage')
CoverageByTime =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CoverageByTime')
CoverageCost =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CoverageCost')
CoverageHours =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CoverageHours')
CoverageHoursPercentage =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CoverageHoursPercentage')
CoverageNormalizedUnits =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CoverageNormalizedUnits')
CoverageNormalizedUnitsPercentage =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CoverageNormalizedUnitsPercentage')
CoveragesByTime =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CoveragesByTime')
CreateAnomalyMonitorRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateAnomalyMonitorRequest')
CreateAnomalyMonitorResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateAnomalyMonitorResponse')
CreateAnomalySubscriptionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateAnomalySubscriptionRequest')
CreateAnomalySubscriptionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateAnomalySubscriptionResponse')
CreateCostCategoryDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateCostCategoryDefinitionRequest')
CreateCostCategoryDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateCostCategoryDefinitionResponse')
CurrentInstance =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CurrentInstance')
DataUnavailableException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DataUnavailableException')
DateInterval =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DateInterval')
DeleteAnomalyMonitorRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteAnomalyMonitorRequest')
DeleteAnomalyMonitorResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteAnomalyMonitorResponse')
DeleteAnomalySubscriptionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteAnomalySubscriptionRequest')
DeleteAnomalySubscriptionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteAnomalySubscriptionResponse')
DeleteCostCategoryDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteCostCategoryDefinitionRequest')
DeleteCostCategoryDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteCostCategoryDefinitionResponse')
DescribeCostCategoryDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeCostCategoryDefinitionRequest')
DescribeCostCategoryDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeCostCategoryDefinitionResponse')
Dimension =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Dimension')
DimensionValues =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DimensionValues')
DimensionValuesWithAttributes =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DimensionValuesWithAttributes')
DimensionValuesWithAttributesList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'DimensionValuesWithAttributesList')
DiskResourceUtilization =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DiskResourceUtilization')
EBSResourceUtilization =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EBSResourceUtilization')
EC2InstanceDetails =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EC2InstanceDetails')
EC2ResourceDetails =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EC2ResourceDetails')
EC2ResourceUtilization =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EC2ResourceUtilization')
EC2Specification =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EC2Specification')
ESInstanceDetails =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ESInstanceDetails')
ElastiCacheInstanceDetails =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ElastiCacheInstanceDetails')
Entity =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Entity')
ErrorMessage =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ErrorMessage')
Estimated =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'Estimated')
Expression =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Expression')
Expressions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'Expressions')
FindingReasonCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'FindingReasonCode')
FindingReasonCodes =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'FindingReasonCodes')
ForecastResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ForecastResult')
ForecastResultsByTime =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ForecastResultsByTime')
GenerationExistsException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GenerationExistsException')
GenerationStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'GenerationStatus')
GenerationSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GenerationSummary')
GenerationSummaryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'GenerationSummaryList')
GenericBoolean =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'GenericBoolean')
GenericDouble =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'GenericDouble')
GenericString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'GenericString')
GetAnomaliesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetAnomaliesRequest')
GetAnomaliesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetAnomaliesResponse')
GetAnomalyMonitorsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetAnomalyMonitorsRequest')
GetAnomalyMonitorsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetAnomalyMonitorsResponse')
GetAnomalySubscriptionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetAnomalySubscriptionsRequest')
GetAnomalySubscriptionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetAnomalySubscriptionsResponse')
GetApproximateUsageRecordsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetApproximateUsageRecordsRequest')
GetApproximateUsageRecordsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetApproximateUsageRecordsResponse')
GetCostAndUsageRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetCostAndUsageRequest')
GetCostAndUsageResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetCostAndUsageResponse')
GetCostAndUsageWithResourcesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetCostAndUsageWithResourcesRequest')
GetCostAndUsageWithResourcesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetCostAndUsageWithResourcesResponse')
GetCostCategoriesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetCostCategoriesRequest')
GetCostCategoriesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetCostCategoriesResponse')
GetCostForecastRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetCostForecastRequest')
GetCostForecastResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetCostForecastResponse')
GetDimensionValuesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDimensionValuesRequest')
GetDimensionValuesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDimensionValuesResponse')
GetReservationCoverageRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetReservationCoverageRequest')
GetReservationCoverageResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetReservationCoverageResponse')
GetReservationPurchaseRecommendationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetReservationPurchaseRecommendationRequest')
GetReservationPurchaseRecommendationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetReservationPurchaseRecommendationResponse')
GetReservationUtilizationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetReservationUtilizationRequest')
GetReservationUtilizationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetReservationUtilizationResponse')
GetRightsizingRecommendationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetRightsizingRecommendationRequest')
GetRightsizingRecommendationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetRightsizingRecommendationResponse')
GetSavingsPlanPurchaseRecommendationDetailsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSavingsPlanPurchaseRecommendationDetailsRequest')
GetSavingsPlanPurchaseRecommendationDetailsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSavingsPlanPurchaseRecommendationDetailsResponse')
GetSavingsPlansCoverageRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSavingsPlansCoverageRequest')
GetSavingsPlansCoverageResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSavingsPlansCoverageResponse')
GetSavingsPlansPurchaseRecommendationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSavingsPlansPurchaseRecommendationRequest')
GetSavingsPlansPurchaseRecommendationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSavingsPlansPurchaseRecommendationResponse')
GetSavingsPlansUtilizationDetailsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSavingsPlansUtilizationDetailsRequest')
GetSavingsPlansUtilizationDetailsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSavingsPlansUtilizationDetailsResponse')
GetSavingsPlansUtilizationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSavingsPlansUtilizationRequest')
GetSavingsPlansUtilizationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSavingsPlansUtilizationResponse')
GetTagsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetTagsRequest')
GetTagsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetTagsResponse')
GetUsageForecastRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetUsageForecastRequest')
GetUsageForecastResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetUsageForecastResponse')
Granularity =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Granularity')
Group =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Group')
GroupDefinition =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GroupDefinition')
GroupDefinitionKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'GroupDefinitionKey')
GroupDefinitionType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'GroupDefinitionType')
GroupDefinitions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'GroupDefinitions')
Groups =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'Groups')
Impact =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Impact')
InstanceDetails =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InstanceDetails')
InvalidNextTokenException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidNextTokenException')
Key =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Key')
Keys =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'Keys')
LimitExceededException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LimitExceededException')
ListCostAllocationTagBackfillHistoryRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListCostAllocationTagBackfillHistoryRequest')
ListCostAllocationTagBackfillHistoryResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListCostAllocationTagBackfillHistoryResponse')
ListCostAllocationTagsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListCostAllocationTagsRequest')
ListCostAllocationTagsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListCostAllocationTagsResponse')
ListCostCategoryDefinitionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListCostCategoryDefinitionsRequest')
ListCostCategoryDefinitionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListCostCategoryDefinitionsResponse')
ListSavingsPlansPurchaseRecommendationGenerationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListSavingsPlansPurchaseRecommendationGenerationRequest')
ListSavingsPlansPurchaseRecommendationGenerationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListSavingsPlansPurchaseRecommendationGenerationResponse')
ListTagsForResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
ListTagsForResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
LookbackPeriodInDays =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'LookbackPeriodInDays')
MatchOption =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MatchOption')
MatchOptions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'MatchOptions')
MaxResults =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'MaxResults')
MemoryDBInstanceDetails =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MemoryDBInstanceDetails')
Metric =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Metric')
MetricAmount =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MetricAmount')
MetricName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MetricName')
MetricNames =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'MetricNames')
MetricUnit =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MetricUnit')
MetricValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MetricValue')
Metrics =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::MapShape.new(name: 'Metrics')
MetricsOverLookbackPeriod =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'MetricsOverLookbackPeriod')
ModifyRecommendationDetail =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ModifyRecommendationDetail')
MonitorArnList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'MonitorArnList')
MonitorDimension =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MonitorDimension')
MonitorType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MonitorType')
NetRISavings =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'NetRISavings')
NetworkResourceUtilization =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'NetworkResourceUtilization')
NextPageToken =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'NextPageToken')
NonNegativeInteger =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'NonNegativeInteger')
NonNegativeLong =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'NonNegativeLong')
NullableNonNegativeDouble =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'NullableNonNegativeDouble')
NumericOperator =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'NumericOperator')
OfferingClass =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'OfferingClass')
OnDemandCost =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'OnDemandCost')
OnDemandCostOfRIHoursUsed =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'OnDemandCostOfRIHoursUsed')
OnDemandHours =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'OnDemandHours')
OnDemandNormalizedUnits =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'OnDemandNormalizedUnits')
PageSize =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'PageSize')
PaymentOption =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PaymentOption')
PlatformDifference =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PlatformDifference')
PlatformDifferences =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'PlatformDifferences')
PredictionIntervalLevel =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'PredictionIntervalLevel')
ProvideAnomalyFeedbackRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ProvideAnomalyFeedbackRequest')
ProvideAnomalyFeedbackResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ProvideAnomalyFeedbackResponse')
PurchasedHours =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PurchasedHours')
PurchasedUnits =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PurchasedUnits')
RDSInstanceDetails =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RDSInstanceDetails')
RICostForUnusedHours =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RICostForUnusedHours')
RealizedSavings =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RealizedSavings')
RecommendationDetailData =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RecommendationDetailData')
RecommendationDetailHourlyMetrics =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RecommendationDetailHourlyMetrics')
RecommendationDetailId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RecommendationDetailId')
RecommendationId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RecommendationId')
RecommendationIdList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'RecommendationIdList')
RecommendationTarget =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RecommendationTarget')
RedshiftInstanceDetails =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RedshiftInstanceDetails')
RequestChangedException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RequestChangedException')
ReservationAggregates =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ReservationAggregates')
ReservationCoverageGroup =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ReservationCoverageGroup')
ReservationCoverageGroups =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ReservationCoverageGroups')
ReservationGroupKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ReservationGroupKey')
ReservationGroupValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ReservationGroupValue')
ReservationPurchaseRecommendation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ReservationPurchaseRecommendation')
ReservationPurchaseRecommendationDetail =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ReservationPurchaseRecommendationDetail')
ReservationPurchaseRecommendationDetails =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ReservationPurchaseRecommendationDetails')
ReservationPurchaseRecommendationMetadata =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ReservationPurchaseRecommendationMetadata')
ReservationPurchaseRecommendationSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ReservationPurchaseRecommendationSummary')
ReservationPurchaseRecommendations =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ReservationPurchaseRecommendations')
ReservationUtilizationGroup =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ReservationUtilizationGroup')
ReservationUtilizationGroups =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ReservationUtilizationGroups')
ReservedHours =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ReservedHours')
ReservedNormalizedUnits =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ReservedNormalizedUnits')
ResourceDetails =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ResourceDetails')
ResourceNotFoundException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ResourceNotFoundException')
ResourceTag =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ResourceTag')
ResourceTagKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ResourceTagKey')
ResourceTagKeyList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ResourceTagKeyList')
ResourceTagList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ResourceTagList')
ResourceTagValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ResourceTagValue')
ResourceUtilization =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ResourceUtilization')
ResultByTime =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ResultByTime')
ResultsByTime =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ResultsByTime')
RightsizingRecommendation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RightsizingRecommendation')
RightsizingRecommendationConfiguration =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RightsizingRecommendationConfiguration')
RightsizingRecommendationList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'RightsizingRecommendationList')
RightsizingRecommendationMetadata =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RightsizingRecommendationMetadata')
RightsizingRecommendationSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RightsizingRecommendationSummary')
RightsizingType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RightsizingType')
RootCause =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RootCause')
RootCauses =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'RootCauses')
SavingsPlanArn =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SavingsPlanArn')
SavingsPlansAmortizedCommitment =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SavingsPlansAmortizedCommitment')
SavingsPlansCoverage =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SavingsPlansCoverage')
SavingsPlansCoverageData =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SavingsPlansCoverageData')
SavingsPlansCoverages =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SavingsPlansCoverages')
SavingsPlansDataType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SavingsPlansDataType')
SavingsPlansDataTypes =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SavingsPlansDataTypes')
SavingsPlansDetails =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SavingsPlansDetails')
SavingsPlansPurchaseRecommendation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SavingsPlansPurchaseRecommendation')
SavingsPlansPurchaseRecommendationDetail =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SavingsPlansPurchaseRecommendationDetail')
SavingsPlansPurchaseRecommendationDetailList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SavingsPlansPurchaseRecommendationDetailList')
SavingsPlansPurchaseRecommendationMetadata =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SavingsPlansPurchaseRecommendationMetadata')
SavingsPlansPurchaseRecommendationSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SavingsPlansPurchaseRecommendationSummary')
SavingsPlansSavings =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SavingsPlansSavings')
SavingsPlansUtilization =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SavingsPlansUtilization')
SavingsPlansUtilizationAggregates =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SavingsPlansUtilizationAggregates')
SavingsPlansUtilizationByTime =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SavingsPlansUtilizationByTime')
SavingsPlansUtilizationDetail =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SavingsPlansUtilizationDetail')
SavingsPlansUtilizationDetails =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SavingsPlansUtilizationDetails')
SavingsPlansUtilizationsByTime =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SavingsPlansUtilizationsByTime')
SearchString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SearchString')
ServiceQuotaExceededException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
ServiceSpecification =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ServiceSpecification')
SortDefinition =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SortDefinition')
SortDefinitionKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SortDefinitionKey')
SortDefinitions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SortDefinitions')
SortOrder =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SortOrder')
StartCostAllocationTagBackfillRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'StartCostAllocationTagBackfillRequest')
StartCostAllocationTagBackfillResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'StartCostAllocationTagBackfillResponse')
StartSavingsPlansPurchaseRecommendationGenerationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'StartSavingsPlansPurchaseRecommendationGenerationRequest')
StartSavingsPlansPurchaseRecommendationGenerationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'StartSavingsPlansPurchaseRecommendationGenerationResponse')
Subscriber =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Subscriber')
SubscriberAddress =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SubscriberAddress')
SubscriberStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SubscriberStatus')
SubscriberType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SubscriberType')
Subscribers =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'Subscribers')
SupportedSavingsPlansType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SupportedSavingsPlansType')
TagKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TagKey')
TagList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TagList')
TagResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagResourceRequest')
TagResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagResourceResponse')
TagValues =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagValues')
TagValuesList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TagValuesList')
TargetInstance =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TargetInstance')
TargetInstancesList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TargetInstancesList')
TermInYears =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TermInYears')
TerminateRecommendationDetail =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TerminateRecommendationDetail')
TooManyTagsException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyTagsException')
TotalActualHours =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TotalActualHours')
TotalActualUnits =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TotalActualUnits')
TotalAmortizedFee =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TotalAmortizedFee')
TotalImpactFilter =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TotalImpactFilter')
TotalPotentialRISavings =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TotalPotentialRISavings')
TotalRunningHours =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TotalRunningHours')
TotalRunningNormalizedUnits =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TotalRunningNormalizedUnits')
UnknownMonitorException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UnknownMonitorException')
UnknownSubscriptionException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UnknownSubscriptionException')
UnrealizedSavings =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'UnrealizedSavings')
UnresolvableUsageUnitException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UnresolvableUsageUnitException')
UntagResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UntagResourceRequest')
UntagResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UntagResourceResponse')
UnusedHours =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'UnusedHours')
UnusedUnits =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'UnusedUnits')
UpdateAnomalyMonitorRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateAnomalyMonitorRequest')
UpdateAnomalyMonitorResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateAnomalyMonitorResponse')
UpdateAnomalySubscriptionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateAnomalySubscriptionRequest')
UpdateAnomalySubscriptionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateAnomalySubscriptionResponse')
UpdateCostAllocationTagsStatusError =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateCostAllocationTagsStatusError')
UpdateCostAllocationTagsStatusErrors =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'UpdateCostAllocationTagsStatusErrors')
UpdateCostAllocationTagsStatusRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateCostAllocationTagsStatusRequest')
UpdateCostAllocationTagsStatusResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateCostAllocationTagsStatusResponse')
UpdateCostCategoryDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateCostCategoryDefinitionRequest')
UpdateCostCategoryDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateCostCategoryDefinitionResponse')
UsageServices =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'UsageServices')
UtilizationByTime =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UtilizationByTime')
UtilizationPercentage =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'UtilizationPercentage')
UtilizationPercentageInUnits =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'UtilizationPercentageInUnits')
UtilizationsByTime =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'UtilizationsByTime')
Value =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Value')
Values =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'Values')
YearMonthDay =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'YearMonthDay')
ZonedDateTime =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ZonedDateTime')
API =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Seahorse::Model::Api.new.tap do |api|

  api.version = "2017-10-25"

  api. = {
    "apiVersion" => "2017-10-25",
    "endpointPrefix" => "ce",
    "jsonVersion" => "1.1",
    "protocol" => "json",
    "serviceAbbreviation" => "AWS Cost Explorer",
    "serviceFullName" => "AWS Cost Explorer Service",
    "serviceId" => "Cost Explorer",
    "signatureVersion" => "v4",
    "signingName" => "ce",
    "targetPrefix" => "AWSInsightsIndexService",
    "uid" => "ce-2017-10-25",
  }

  api.add_operation(:create_anomaly_monitor, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateAnomalyMonitor"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateAnomalyMonitorRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateAnomalyMonitorResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:create_anomaly_subscription, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateAnomalySubscription"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateAnomalySubscriptionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateAnomalySubscriptionResponse)
    o.errors << Shapes::ShapeRef.new(shape: UnknownMonitorException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:create_cost_category_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateCostCategoryDefinition"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateCostCategoryDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateCostCategoryDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:delete_anomaly_monitor, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteAnomalyMonitor"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteAnomalyMonitorRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteAnomalyMonitorResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: UnknownMonitorException)
  end)

  api.add_operation(:delete_anomaly_subscription, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteAnomalySubscription"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteAnomalySubscriptionRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteAnomalySubscriptionResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: UnknownSubscriptionException)
  end)

  api.add_operation(:delete_cost_category_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteCostCategoryDefinition"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteCostCategoryDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteCostCategoryDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:describe_cost_category_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeCostCategoryDefinition"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeCostCategoryDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeCostCategoryDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:get_anomalies, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetAnomalies"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetAnomaliesRequest)
    o.output = Shapes::ShapeRef.new(shape: GetAnomaliesResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
  end)

  api.add_operation(:get_anomaly_monitors, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetAnomalyMonitors"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetAnomalyMonitorsRequest)
    o.output = Shapes::ShapeRef.new(shape: GetAnomalyMonitorsResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: UnknownMonitorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
  end)

  api.add_operation(:get_anomaly_subscriptions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetAnomalySubscriptions"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetAnomalySubscriptionsRequest)
    o.output = Shapes::ShapeRef.new(shape: GetAnomalySubscriptionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: UnknownSubscriptionException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
  end)

  api.add_operation(:get_approximate_usage_records, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetApproximateUsageRecords"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetApproximateUsageRecordsRequest)
    o.output = Shapes::ShapeRef.new(shape: GetApproximateUsageRecordsResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
  end)

  api.add_operation(:get_cost_and_usage, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetCostAndUsage"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetCostAndUsageRequest)
    o.output = Shapes::ShapeRef.new(shape: GetCostAndUsageResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: BillExpirationException)
    o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o.errors << Shapes::ShapeRef.new(shape: RequestChangedException)
  end)

  api.add_operation(:get_cost_and_usage_with_resources, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetCostAndUsageWithResources"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetCostAndUsageWithResourcesRequest)
    o.output = Shapes::ShapeRef.new(shape: GetCostAndUsageWithResourcesResponse)
    o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: BillExpirationException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o.errors << Shapes::ShapeRef.new(shape: RequestChangedException)
  end)

  api.add_operation(:get_cost_categories, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetCostCategories"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetCostCategoriesRequest)
    o.output = Shapes::ShapeRef.new(shape: GetCostCategoriesResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: BillExpirationException)
    o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o.errors << Shapes::ShapeRef.new(shape: RequestChangedException)
  end)

  api.add_operation(:get_cost_forecast, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetCostForecast"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetCostForecastRequest)
    o.output = Shapes::ShapeRef.new(shape: GetCostForecastResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
  end)

  api.add_operation(:get_dimension_values, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetDimensionValues"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetDimensionValuesRequest)
    o.output = Shapes::ShapeRef.new(shape: GetDimensionValuesResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: BillExpirationException)
    o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o.errors << Shapes::ShapeRef.new(shape: RequestChangedException)
  end)

  api.add_operation(:get_reservation_coverage, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetReservationCoverage"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetReservationCoverageRequest)
    o.output = Shapes::ShapeRef.new(shape: GetReservationCoverageResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
  end)

  api.add_operation(:get_reservation_purchase_recommendation, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetReservationPurchaseRecommendation"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetReservationPurchaseRecommendationRequest)
    o.output = Shapes::ShapeRef.new(shape: GetReservationPurchaseRecommendationResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
  end)

  api.add_operation(:get_reservation_utilization, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetReservationUtilization"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetReservationUtilizationRequest)
    o.output = Shapes::ShapeRef.new(shape: GetReservationUtilizationResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
  end)

  api.add_operation(:get_rightsizing_recommendation, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetRightsizingRecommendation"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetRightsizingRecommendationRequest)
    o.output = Shapes::ShapeRef.new(shape: GetRightsizingRecommendationResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
  end)

  api.add_operation(:get_savings_plan_purchase_recommendation_details, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetSavingsPlanPurchaseRecommendationDetails"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetSavingsPlanPurchaseRecommendationDetailsRequest)
    o.output = Shapes::ShapeRef.new(shape: GetSavingsPlanPurchaseRecommendationDetailsResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
  end)

  api.add_operation(:get_savings_plans_coverage, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetSavingsPlansCoverage"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetSavingsPlansCoverageRequest)
    o.output = Shapes::ShapeRef.new(shape: GetSavingsPlansCoverageResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:get_savings_plans_purchase_recommendation, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetSavingsPlansPurchaseRecommendation"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetSavingsPlansPurchaseRecommendationRequest)
    o.output = Shapes::ShapeRef.new(shape: GetSavingsPlansPurchaseRecommendationResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
  end)

  api.add_operation(:get_savings_plans_utilization, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetSavingsPlansUtilization"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetSavingsPlansUtilizationRequest)
    o.output = Shapes::ShapeRef.new(shape: GetSavingsPlansUtilizationResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
  end)

  api.add_operation(:get_savings_plans_utilization_details, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetSavingsPlansUtilizationDetails"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetSavingsPlansUtilizationDetailsRequest)
    o.output = Shapes::ShapeRef.new(shape: GetSavingsPlansUtilizationDetailsResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:get_tags, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetTags"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetTagsRequest)
    o.output = Shapes::ShapeRef.new(shape: GetTagsResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: BillExpirationException)
    o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o.errors << Shapes::ShapeRef.new(shape: RequestChangedException)
  end)

  api.add_operation(:get_usage_forecast, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetUsageForecast"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetUsageForecastRequest)
    o.output = Shapes::ShapeRef.new(shape: GetUsageForecastResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: UnresolvableUsageUnitException)
  end)

  api.add_operation(:list_cost_allocation_tag_backfill_history, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListCostAllocationTagBackfillHistory"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListCostAllocationTagBackfillHistoryRequest)
    o.output = Shapes::ShapeRef.new(shape: ListCostAllocationTagBackfillHistoryResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_cost_allocation_tags, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListCostAllocationTags"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListCostAllocationTagsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListCostAllocationTagsResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_cost_category_definitions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListCostCategoryDefinitions"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListCostCategoryDefinitionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListCostCategoryDefinitionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_savings_plans_purchase_recommendation_generation, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListSavingsPlansPurchaseRecommendationGeneration"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListSavingsPlansPurchaseRecommendationGenerationRequest)
    o.output = Shapes::ShapeRef.new(shape: ListSavingsPlansPurchaseRecommendationGenerationResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
  end)

  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListTagsForResource"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:provide_anomaly_feedback, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ProvideAnomalyFeedback"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ProvideAnomalyFeedbackRequest)
    o.output = Shapes::ShapeRef.new(shape: ProvideAnomalyFeedbackResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:start_cost_allocation_tag_backfill, Seahorse::Model::Operation.new.tap do |o|
    o.name = "StartCostAllocationTagBackfill"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: StartCostAllocationTagBackfillRequest)
    o.output = Shapes::ShapeRef.new(shape: StartCostAllocationTagBackfillResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: BackfillLimitExceededException)
  end)

  api.add_operation(:start_savings_plans_purchase_recommendation_generation, Seahorse::Model::Operation.new.tap do |o|
    o.name = "StartSavingsPlansPurchaseRecommendationGeneration"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: StartSavingsPlansPurchaseRecommendationGenerationRequest)
    o.output = Shapes::ShapeRef.new(shape: StartSavingsPlansPurchaseRecommendationGenerationResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
    o.errors << Shapes::ShapeRef.new(shape: GenerationExistsException)
    o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
  end)

  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "TagResource"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: TagResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UntagResource"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: UntagResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:update_anomaly_monitor, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateAnomalyMonitor"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateAnomalyMonitorRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateAnomalyMonitorResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: UnknownMonitorException)
  end)

  api.add_operation(:update_anomaly_subscription, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateAnomalySubscription"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateAnomalySubscriptionRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateAnomalySubscriptionResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: UnknownMonitorException)
    o.errors << Shapes::ShapeRef.new(shape: UnknownSubscriptionException)
  end)

  api.add_operation(:update_cost_allocation_tags_status, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateCostAllocationTagsStatus"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateCostAllocationTagsStatusRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateCostAllocationTagsStatusResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:update_cost_category_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateCostCategoryDefinition"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateCostCategoryDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateCostCategoryDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)
end