{
  "version":"2.0",
  "metadata":{
    "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"
  },
  "operations":{
    "CreateCostCategoryDefinition":{
      "name":"CreateCostCategoryDefinition",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateCostCategoryDefinitionRequest"},
      "output":{"shape":"CreateCostCategoryDefinitionResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"LimitExceededException"}
      ]
    },
    "DeleteCostCategoryDefinition":{
      "name":"DeleteCostCategoryDefinition",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteCostCategoryDefinitionRequest"},
      "output":{"shape":"DeleteCostCategoryDefinitionResponse"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"LimitExceededException"}
      ]
    },
    "DescribeCostCategoryDefinition":{
      "name":"DescribeCostCategoryDefinition",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeCostCategoryDefinitionRequest"},
      "output":{"shape":"DescribeCostCategoryDefinitionResponse"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"LimitExceededException"}
      ]
    },
    "GetCostAndUsage":{
      "name":"GetCostAndUsage",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetCostAndUsageRequest"},
      "output":{"shape":"GetCostAndUsageResponse"},
      "errors":[
        {"shape":"LimitExceededException"},
        {"shape":"BillExpirationException"},
        {"shape":"DataUnavailableException"},
        {"shape":"InvalidNextTokenException"},
        {"shape":"RequestChangedException"}
      ]
    },
    "GetCostAndUsageWithResources":{
      "name":"GetCostAndUsageWithResources",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetCostAndUsageWithResourcesRequest"},
      "output":{"shape":"GetCostAndUsageWithResourcesResponse"},
      "errors":[
        {"shape":"DataUnavailableException"},
        {"shape":"LimitExceededException"},
        {"shape":"BillExpirationException"},
        {"shape":"InvalidNextTokenException"},
        {"shape":"RequestChangedException"}
      ]
    },
    "GetCostForecast":{
      "name":"GetCostForecast",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetCostForecastRequest"},
      "output":{"shape":"GetCostForecastResponse"},
      "errors":[
        {"shape":"LimitExceededException"},
        {"shape":"DataUnavailableException"}
      ]
    },
    "GetDimensionValues":{
      "name":"GetDimensionValues",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetDimensionValuesRequest"},
      "output":{"shape":"GetDimensionValuesResponse"},
      "errors":[
        {"shape":"LimitExceededException"},
        {"shape":"BillExpirationException"},
        {"shape":"DataUnavailableException"},
        {"shape":"InvalidNextTokenException"},
        {"shape":"RequestChangedException"}
      ]
    },
    "GetReservationCoverage":{
      "name":"GetReservationCoverage",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetReservationCoverageRequest"},
      "output":{"shape":"GetReservationCoverageResponse"},
      "errors":[
        {"shape":"LimitExceededException"},
        {"shape":"DataUnavailableException"},
        {"shape":"InvalidNextTokenException"}
      ]
    },
    "GetReservationPurchaseRecommendation":{
      "name":"GetReservationPurchaseRecommendation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetReservationPurchaseRecommendationRequest"},
      "output":{"shape":"GetReservationPurchaseRecommendationResponse"},
      "errors":[
        {"shape":"LimitExceededException"},
        {"shape":"DataUnavailableException"},
        {"shape":"InvalidNextTokenException"}
      ]
    },
    "GetReservationUtilization":{
      "name":"GetReservationUtilization",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetReservationUtilizationRequest"},
      "output":{"shape":"GetReservationUtilizationResponse"},
      "errors":[
        {"shape":"LimitExceededException"},
        {"shape":"DataUnavailableException"},
        {"shape":"InvalidNextTokenException"}
      ]
    },
    "GetRightsizingRecommendation":{
      "name":"GetRightsizingRecommendation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetRightsizingRecommendationRequest"},
      "output":{"shape":"GetRightsizingRecommendationResponse"},
      "errors":[
        {"shape":"LimitExceededException"},
        {"shape":"InvalidNextTokenException"}
      ]
    },
    "GetSavingsPlansCoverage":{
      "name":"GetSavingsPlansCoverage",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetSavingsPlansCoverageRequest"},
      "output":{"shape":"GetSavingsPlansCoverageResponse"},
      "errors":[
        {"shape":"LimitExceededException"},
        {"shape":"DataUnavailableException"},
        {"shape":"InvalidNextTokenException"}
      ]
    },
    "GetSavingsPlansPurchaseRecommendation":{
      "name":"GetSavingsPlansPurchaseRecommendation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetSavingsPlansPurchaseRecommendationRequest"},
      "output":{"shape":"GetSavingsPlansPurchaseRecommendationResponse"},
      "errors":[
        {"shape":"LimitExceededException"},
        {"shape":"InvalidNextTokenException"}
      ]
    },
    "GetSavingsPlansUtilization":{
      "name":"GetSavingsPlansUtilization",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetSavingsPlansUtilizationRequest"},
      "output":{"shape":"GetSavingsPlansUtilizationResponse"},
      "errors":[
        {"shape":"LimitExceededException"},
        {"shape":"DataUnavailableException"}
      ]
    },
    "GetSavingsPlansUtilizationDetails":{
      "name":"GetSavingsPlansUtilizationDetails",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetSavingsPlansUtilizationDetailsRequest"},
      "output":{"shape":"GetSavingsPlansUtilizationDetailsResponse"},
      "errors":[
        {"shape":"LimitExceededException"},
        {"shape":"DataUnavailableException"},
        {"shape":"InvalidNextTokenException"}
      ]
    },
    "GetTags":{
      "name":"GetTags",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetTagsRequest"},
      "output":{"shape":"GetTagsResponse"},
      "errors":[
        {"shape":"LimitExceededException"},
        {"shape":"BillExpirationException"},
        {"shape":"DataUnavailableException"},
        {"shape":"InvalidNextTokenException"},
        {"shape":"RequestChangedException"}
      ]
    },
    "GetUsageForecast":{
      "name":"GetUsageForecast",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetUsageForecastRequest"},
      "output":{"shape":"GetUsageForecastResponse"},
      "errors":[
        {"shape":"LimitExceededException"},
        {"shape":"DataUnavailableException"},
        {"shape":"UnresolvableUsageUnitException"}
      ]
    },
    "ListCostCategoryDefinitions":{
      "name":"ListCostCategoryDefinitions",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListCostCategoryDefinitionsRequest"},
      "output":{"shape":"ListCostCategoryDefinitionsResponse"},
      "errors":[
        {"shape":"LimitExceededException"}
      ]
    },
    "UpdateCostCategoryDefinition":{
      "name":"UpdateCostCategoryDefinition",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateCostCategoryDefinitionRequest"},
      "output":{"shape":"UpdateCostCategoryDefinitionResponse"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"LimitExceededException"}
      ]
    }
  },
  "shapes":{
    "AccountScope":{
      "type":"string",
      "enum":[
        "PAYER",
        "LINKED"
      ]
    },
    "AmortizedRecurringFee":{"type":"string"},
    "AmortizedUpfrontFee":{"type":"string"},
    "Arn":{
      "type":"string",
      "max":2048,
      "min":20,
      "pattern":"arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+"
    },
    "AttributeType":{"type":"string"},
    "AttributeValue":{"type":"string"},
    "Attributes":{
      "type":"map",
      "key":{"shape":"AttributeType"},
      "value":{"shape":"AttributeValue"}
    },
    "BillExpirationException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true
    },
    "Context":{
      "type":"string",
      "enum":[
        "COST_AND_USAGE",
        "RESERVATIONS",
        "SAVINGS_PLANS"
      ]
    },
    "CostCategory":{
      "type":"structure",
      "required":[
        "CostCategoryArn",
        "EffectiveStart",
        "Name",
        "RuleVersion",
        "Rules"
      ],
      "members":{
        "CostCategoryArn":{"shape":"Arn"},
        "EffectiveStart":{"shape":"ZonedDateTime"},
        "EffectiveEnd":{"shape":"ZonedDateTime"},
        "Name":{"shape":"CostCategoryName"},
        "RuleVersion":{"shape":"CostCategoryRuleVersion"},
        "Rules":{"shape":"CostCategoryRulesList"}
      }
    },
    "CostCategoryMaxResults":{
      "type":"integer",
      "max":100,
      "min":1
    },
    "CostCategoryName":{
      "type":"string",
      "max":255,
      "min":1,
      "pattern":"^(?! )[\\p{L}\\p{N}\\p{Z}-_]*(?<! )$"
    },
    "CostCategoryReference":{
      "type":"structure",
      "members":{
        "CostCategoryArn":{"shape":"Arn"},
        "Name":{"shape":"CostCategoryName"},
        "EffectiveStart":{"shape":"ZonedDateTime"},
        "EffectiveEnd":{"shape":"ZonedDateTime"},
        "NumberOfRules":{"shape":"NonNegativeInteger"}
      }
    },
    "CostCategoryReferencesList":{
      "type":"list",
      "member":{"shape":"CostCategoryReference"}
    },
    "CostCategoryRule":{
      "type":"structure",
      "required":[
        "Value",
        "Rule"
      ],
      "members":{
        "Value":{"shape":"CostCategoryValue"},
        "Rule":{"shape":"Expression"}
      }
    },
    "CostCategoryRuleVersion":{
      "type":"string",
      "enum":["CostCategoryExpression.v1"]
    },
    "CostCategoryRulesList":{
      "type":"list",
      "member":{"shape":"CostCategoryRule"},
      "max":500,
      "min":1
    },
    "CostCategoryValue":{
      "type":"string",
      "max":255,
      "min":1,
      "pattern":"^(?! )[\\p{L}\\p{N}\\p{Z}-_]*(?<! )$"
    },
    "CostCategoryValues":{
      "type":"structure",
      "members":{
        "Key":{"shape":"CostCategoryName"},
        "Values":{"shape":"Values"}
      }
    },
    "Coverage":{
      "type":"structure",
      "members":{
        "CoverageHours":{"shape":"CoverageHours"},
        "CoverageNormalizedUnits":{"shape":"CoverageNormalizedUnits"},
        "CoverageCost":{"shape":"CoverageCost"}
      }
    },
    "CoverageByTime":{
      "type":"structure",
      "members":{
        "TimePeriod":{"shape":"DateInterval"},
        "Groups":{"shape":"ReservationCoverageGroups"},
        "Total":{"shape":"Coverage"}
      }
    },
    "CoverageCost":{
      "type":"structure",
      "members":{
        "OnDemandCost":{"shape":"OnDemandCost"}
      }
    },
    "CoverageHours":{
      "type":"structure",
      "members":{
        "OnDemandHours":{"shape":"OnDemandHours"},
        "ReservedHours":{"shape":"ReservedHours"},
        "TotalRunningHours":{"shape":"TotalRunningHours"},
        "CoverageHoursPercentage":{"shape":"CoverageHoursPercentage"}
      }
    },
    "CoverageHoursPercentage":{"type":"string"},
    "CoverageNormalizedUnits":{
      "type":"structure",
      "members":{
        "OnDemandNormalizedUnits":{"shape":"OnDemandNormalizedUnits"},
        "ReservedNormalizedUnits":{"shape":"ReservedNormalizedUnits"},
        "TotalRunningNormalizedUnits":{"shape":"TotalRunningNormalizedUnits"},
        "CoverageNormalizedUnitsPercentage":{"shape":"CoverageNormalizedUnitsPercentage"}
      }
    },
    "CoverageNormalizedUnitsPercentage":{"type":"string"},
    "CoveragesByTime":{
      "type":"list",
      "member":{"shape":"CoverageByTime"}
    },
    "CreateCostCategoryDefinitionRequest":{
      "type":"structure",
      "required":[
        "Name",
        "RuleVersion",
        "Rules"
      ],
      "members":{
        "Name":{"shape":"CostCategoryName"},
        "RuleVersion":{"shape":"CostCategoryRuleVersion"},
        "Rules":{"shape":"CostCategoryRulesList"}
      }
    },
    "CreateCostCategoryDefinitionResponse":{
      "type":"structure",
      "members":{
        "CostCategoryArn":{"shape":"Arn"},
        "EffectiveStart":{"shape":"ZonedDateTime"}
      }
    },
    "CurrentInstance":{
      "type":"structure",
      "members":{
        "ResourceId":{"shape":"GenericString"},
        "InstanceName":{"shape":"GenericString"},
        "Tags":{"shape":"TagValuesList"},
        "ResourceDetails":{"shape":"ResourceDetails"},
        "ResourceUtilization":{"shape":"ResourceUtilization"},
        "ReservationCoveredHoursInLookbackPeriod":{"shape":"GenericString"},
        "SavingsPlansCoveredHoursInLookbackPeriod":{"shape":"GenericString"},
        "OnDemandHoursInLookbackPeriod":{"shape":"GenericString"},
        "TotalRunningHoursInLookbackPeriod":{"shape":"GenericString"},
        "MonthlyCost":{"shape":"GenericString"},
        "CurrencyCode":{"shape":"GenericString"}
      }
    },
    "DataUnavailableException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true
    },
    "DateInterval":{
      "type":"structure",
      "required":[
        "Start",
        "End"
      ],
      "members":{
        "Start":{"shape":"YearMonthDay"},
        "End":{"shape":"YearMonthDay"}
      }
    },
    "DeleteCostCategoryDefinitionRequest":{
      "type":"structure",
      "required":["CostCategoryArn"],
      "members":{
        "CostCategoryArn":{"shape":"Arn"}
      }
    },
    "DeleteCostCategoryDefinitionResponse":{
      "type":"structure",
      "members":{
        "CostCategoryArn":{"shape":"Arn"},
        "EffectiveEnd":{"shape":"ZonedDateTime"}
      }
    },
    "DescribeCostCategoryDefinitionRequest":{
      "type":"structure",
      "required":["CostCategoryArn"],
      "members":{
        "CostCategoryArn":{"shape":"Arn"},
        "EffectiveOn":{"shape":"ZonedDateTime"}
      }
    },
    "DescribeCostCategoryDefinitionResponse":{
      "type":"structure",
      "members":{
        "CostCategory":{"shape":"CostCategory"}
      }
    },
    "Dimension":{
      "type":"string",
      "enum":[
        "AZ",
        "INSTANCE_TYPE",
        "LINKED_ACCOUNT",
        "LINKED_ACCOUNT_NAME",
        "OPERATION",
        "PURCHASE_TYPE",
        "REGION",
        "SERVICE",
        "SERVICE_CODE",
        "USAGE_TYPE",
        "USAGE_TYPE_GROUP",
        "RECORD_TYPE",
        "OPERATING_SYSTEM",
        "TENANCY",
        "SCOPE",
        "PLATFORM",
        "SUBSCRIPTION_ID",
        "LEGAL_ENTITY_NAME",
        "DEPLOYMENT_OPTION",
        "DATABASE_ENGINE",
        "CACHE_ENGINE",
        "INSTANCE_TYPE_FAMILY",
        "BILLING_ENTITY",
        "RESERVATION_ID",
        "RESOURCE_ID",
        "RIGHTSIZING_TYPE",
        "SAVINGS_PLANS_TYPE",
        "SAVINGS_PLAN_ARN",
        "PAYMENT_OPTION"
      ]
    },
    "DimensionValues":{
      "type":"structure",
      "members":{
        "Key":{"shape":"Dimension"},
        "Values":{"shape":"Values"},
        "MatchOptions":{"shape":"MatchOptions"}
      }
    },
    "DimensionValuesWithAttributes":{
      "type":"structure",
      "members":{
        "Value":{"shape":"Value"},
        "Attributes":{"shape":"Attributes"}
      }
    },
    "DimensionValuesWithAttributesList":{
      "type":"list",
      "member":{"shape":"DimensionValuesWithAttributes"}
    },
    "EC2InstanceDetails":{
      "type":"structure",
      "members":{
        "Family":{"shape":"GenericString"},
        "InstanceType":{"shape":"GenericString"},
        "Region":{"shape":"GenericString"},
        "AvailabilityZone":{"shape":"GenericString"},
        "Platform":{"shape":"GenericString"},
        "Tenancy":{"shape":"GenericString"},
        "CurrentGeneration":{"shape":"GenericBoolean"},
        "SizeFlexEligible":{"shape":"GenericBoolean"}
      }
    },
    "EC2ResourceDetails":{
      "type":"structure",
      "members":{
        "HourlyOnDemandRate":{"shape":"GenericString"},
        "InstanceType":{"shape":"GenericString"},
        "Platform":{"shape":"GenericString"},
        "Region":{"shape":"GenericString"},
        "Sku":{"shape":"GenericString"},
        "Memory":{"shape":"GenericString"},
        "NetworkPerformance":{"shape":"GenericString"},
        "Storage":{"shape":"GenericString"},
        "Vcpu":{"shape":"GenericString"}
      }
    },
    "EC2ResourceUtilization":{
      "type":"structure",
      "members":{
        "MaxCpuUtilizationPercentage":{"shape":"GenericString"},
        "MaxMemoryUtilizationPercentage":{"shape":"GenericString"},
        "MaxStorageUtilizationPercentage":{"shape":"GenericString"}
      }
    },
    "EC2Specification":{
      "type":"structure",
      "members":{
        "OfferingClass":{"shape":"OfferingClass"}
      }
    },
    "ESInstanceDetails":{
      "type":"structure",
      "members":{
        "InstanceClass":{"shape":"GenericString"},
        "InstanceSize":{"shape":"GenericString"},
        "Region":{"shape":"GenericString"},
        "CurrentGeneration":{"shape":"GenericBoolean"},
        "SizeFlexEligible":{"shape":"GenericBoolean"}
      }
    },
    "ElastiCacheInstanceDetails":{
      "type":"structure",
      "members":{
        "Family":{"shape":"GenericString"},
        "NodeType":{"shape":"GenericString"},
        "Region":{"shape":"GenericString"},
        "ProductDescription":{"shape":"GenericString"},
        "CurrentGeneration":{"shape":"GenericBoolean"},
        "SizeFlexEligible":{"shape":"GenericBoolean"}
      }
    },
    "Entity":{"type":"string"},
    "ErrorMessage":{"type":"string"},
    "Estimated":{"type":"boolean"},
    "Expression":{
      "type":"structure",
      "members":{
        "Or":{"shape":"Expressions"},
        "And":{"shape":"Expressions"},
        "Not":{"shape":"Expression"},
        "Dimensions":{"shape":"DimensionValues"},
        "Tags":{"shape":"TagValues"},
        "CostCategories":{"shape":"CostCategoryValues"}
      }
    },
    "Expressions":{
      "type":"list",
      "member":{"shape":"Expression"}
    },
    "ForecastResult":{
      "type":"structure",
      "members":{
        "TimePeriod":{"shape":"DateInterval"},
        "MeanValue":{"shape":"GenericString"},
        "PredictionIntervalLowerBound":{"shape":"GenericString"},
        "PredictionIntervalUpperBound":{"shape":"GenericString"}
      }
    },
    "ForecastResultsByTime":{
      "type":"list",
      "member":{"shape":"ForecastResult"}
    },
    "GenericBoolean":{"type":"boolean"},
    "GenericString":{
      "type":"string",
      "max":1024,
      "min":0,
      "pattern":"[\\S\\s]*"
    },
    "GetCostAndUsageRequest":{
      "type":"structure",
      "required":["TimePeriod"],
      "members":{
        "TimePeriod":{"shape":"DateInterval"},
        "Granularity":{"shape":"Granularity"},
        "Filter":{"shape":"Expression"},
        "Metrics":{"shape":"MetricNames"},
        "GroupBy":{"shape":"GroupDefinitions"},
        "NextPageToken":{"shape":"NextPageToken"}
      }
    },
    "GetCostAndUsageResponse":{
      "type":"structure",
      "members":{
        "NextPageToken":{"shape":"NextPageToken"},
        "GroupDefinitions":{"shape":"GroupDefinitions"},
        "ResultsByTime":{"shape":"ResultsByTime"}
      }
    },
    "GetCostAndUsageWithResourcesRequest":{
      "type":"structure",
      "required":["TimePeriod"],
      "members":{
        "TimePeriod":{"shape":"DateInterval"},
        "Granularity":{"shape":"Granularity"},
        "Filter":{"shape":"Expression"},
        "Metrics":{"shape":"MetricNames"},
        "GroupBy":{"shape":"GroupDefinitions"},
        "NextPageToken":{"shape":"NextPageToken"}
      }
    },
    "GetCostAndUsageWithResourcesResponse":{
      "type":"structure",
      "members":{
        "NextPageToken":{"shape":"NextPageToken"},
        "GroupDefinitions":{"shape":"GroupDefinitions"},
        "ResultsByTime":{"shape":"ResultsByTime"}
      }
    },
    "GetCostForecastRequest":{
      "type":"structure",
      "required":[
        "TimePeriod",
        "Metric",
        "Granularity"
      ],
      "members":{
        "TimePeriod":{"shape":"DateInterval"},
        "Metric":{"shape":"Metric"},
        "Granularity":{"shape":"Granularity"},
        "Filter":{"shape":"Expression"},
        "PredictionIntervalLevel":{"shape":"PredictionIntervalLevel"}
      }
    },
    "GetCostForecastResponse":{
      "type":"structure",
      "members":{
        "Total":{"shape":"MetricValue"},
        "ForecastResultsByTime":{"shape":"ForecastResultsByTime"}
      }
    },
    "GetDimensionValuesRequest":{
      "type":"structure",
      "required":[
        "TimePeriod",
        "Dimension"
      ],
      "members":{
        "SearchString":{"shape":"SearchString"},
        "TimePeriod":{"shape":"DateInterval"},
        "Dimension":{"shape":"Dimension"},
        "Context":{"shape":"Context"},
        "NextPageToken":{"shape":"NextPageToken"}
      }
    },
    "GetDimensionValuesResponse":{
      "type":"structure",
      "required":[
        "DimensionValues",
        "ReturnSize",
        "TotalSize"
      ],
      "members":{
        "DimensionValues":{"shape":"DimensionValuesWithAttributesList"},
        "ReturnSize":{"shape":"PageSize"},
        "TotalSize":{"shape":"PageSize"},
        "NextPageToken":{"shape":"NextPageToken"}
      }
    },
    "GetReservationCoverageRequest":{
      "type":"structure",
      "required":["TimePeriod"],
      "members":{
        "TimePeriod":{"shape":"DateInterval"},
        "GroupBy":{"shape":"GroupDefinitions"},
        "Granularity":{"shape":"Granularity"},
        "Filter":{"shape":"Expression"},
        "Metrics":{"shape":"MetricNames"},
        "NextPageToken":{"shape":"NextPageToken"}
      }
    },
    "GetReservationCoverageResponse":{
      "type":"structure",
      "required":["CoveragesByTime"],
      "members":{
        "CoveragesByTime":{"shape":"CoveragesByTime"},
        "Total":{"shape":"Coverage"},
        "NextPageToken":{"shape":"NextPageToken"}
      }
    },
    "GetReservationPurchaseRecommendationRequest":{
      "type":"structure",
      "required":["Service"],
      "members":{
        "AccountId":{"shape":"GenericString"},
        "Service":{"shape":"GenericString"},
        "AccountScope":{"shape":"AccountScope"},
        "LookbackPeriodInDays":{"shape":"LookbackPeriodInDays"},
        "TermInYears":{"shape":"TermInYears"},
        "PaymentOption":{"shape":"PaymentOption"},
        "ServiceSpecification":{"shape":"ServiceSpecification"},
        "PageSize":{"shape":"NonNegativeInteger"},
        "NextPageToken":{"shape":"NextPageToken"}
      }
    },
    "GetReservationPurchaseRecommendationResponse":{
      "type":"structure",
      "members":{
        "Metadata":{"shape":"ReservationPurchaseRecommendationMetadata"},
        "Recommendations":{"shape":"ReservationPurchaseRecommendations"},
        "NextPageToken":{"shape":"NextPageToken"}
      }
    },
    "GetReservationUtilizationRequest":{
      "type":"structure",
      "required":["TimePeriod"],
      "members":{
        "TimePeriod":{"shape":"DateInterval"},
        "GroupBy":{"shape":"GroupDefinitions"},
        "Granularity":{"shape":"Granularity"},
        "Filter":{"shape":"Expression"},
        "NextPageToken":{"shape":"NextPageToken"}
      }
    },
    "GetReservationUtilizationResponse":{
      "type":"structure",
      "required":["UtilizationsByTime"],
      "members":{
        "UtilizationsByTime":{"shape":"UtilizationsByTime"},
        "Total":{"shape":"ReservationAggregates"},
        "NextPageToken":{"shape":"NextPageToken"}
      }
    },
    "GetRightsizingRecommendationRequest":{
      "type":"structure",
      "required":["Service"],
      "members":{
        "Filter":{"shape":"Expression"},
        "Configuration":{"shape":"RightsizingRecommendationConfiguration"},
        "Service":{"shape":"GenericString"},
        "PageSize":{"shape":"NonNegativeInteger"},
        "NextPageToken":{"shape":"NextPageToken"}
      }
    },
    "GetRightsizingRecommendationResponse":{
      "type":"structure",
      "members":{
        "Metadata":{"shape":"RightsizingRecommendationMetadata"},
        "Summary":{"shape":"RightsizingRecommendationSummary"},
        "RightsizingRecommendations":{"shape":"RightsizingRecommendationList"},
        "NextPageToken":{"shape":"NextPageToken"},
        "Configuration":{"shape":"RightsizingRecommendationConfiguration"}
      }
    },
    "GetSavingsPlansCoverageRequest":{
      "type":"structure",
      "required":["TimePeriod"],
      "members":{
        "TimePeriod":{"shape":"DateInterval"},
        "GroupBy":{"shape":"GroupDefinitions"},
        "Granularity":{"shape":"Granularity"},
        "Filter":{"shape":"Expression"},
        "Metrics":{"shape":"MetricNames"},
        "NextToken":{"shape":"NextPageToken"},
        "MaxResults":{
          "shape":"MaxResults",
          "box":true
        }
      }
    },
    "GetSavingsPlansCoverageResponse":{
      "type":"structure",
      "required":["SavingsPlansCoverages"],
      "members":{
        "SavingsPlansCoverages":{"shape":"SavingsPlansCoverages"},
        "NextToken":{"shape":"NextPageToken"}
      }
    },
    "GetSavingsPlansPurchaseRecommendationRequest":{
      "type":"structure",
      "required":[
        "SavingsPlansType",
        "TermInYears",
        "PaymentOption",
        "LookbackPeriodInDays"
      ],
      "members":{
        "SavingsPlansType":{"shape":"SupportedSavingsPlansType"},
        "TermInYears":{"shape":"TermInYears"},
        "PaymentOption":{"shape":"PaymentOption"},
        "AccountScope":{"shape":"AccountScope"},
        "NextPageToken":{"shape":"NextPageToken"},
        "PageSize":{"shape":"NonNegativeInteger"},
        "LookbackPeriodInDays":{"shape":"LookbackPeriodInDays"},
        "Filter":{"shape":"Expression"}
      }
    },
    "GetSavingsPlansPurchaseRecommendationResponse":{
      "type":"structure",
      "members":{
        "Metadata":{"shape":"SavingsPlansPurchaseRecommendationMetadata"},
        "SavingsPlansPurchaseRecommendation":{"shape":"SavingsPlansPurchaseRecommendation"},
        "NextPageToken":{"shape":"NextPageToken"}
      }
    },
    "GetSavingsPlansUtilizationDetailsRequest":{
      "type":"structure",
      "required":["TimePeriod"],
      "members":{
        "TimePeriod":{"shape":"DateInterval"},
        "Filter":{"shape":"Expression"},
        "NextToken":{"shape":"NextPageToken"},
        "MaxResults":{
          "shape":"MaxResults",
          "box":true
        }
      }
    },
    "GetSavingsPlansUtilizationDetailsResponse":{
      "type":"structure",
      "required":[
        "SavingsPlansUtilizationDetails",
        "TimePeriod"
      ],
      "members":{
        "SavingsPlansUtilizationDetails":{"shape":"SavingsPlansUtilizationDetails"},
        "Total":{"shape":"SavingsPlansUtilizationAggregates"},
        "TimePeriod":{"shape":"DateInterval"},
        "NextToken":{"shape":"NextPageToken"}
      }
    },
    "GetSavingsPlansUtilizationRequest":{
      "type":"structure",
      "required":["TimePeriod"],
      "members":{
        "TimePeriod":{"shape":"DateInterval"},
        "Granularity":{"shape":"Granularity"},
        "Filter":{"shape":"Expression"}
      }
    },
    "GetSavingsPlansUtilizationResponse":{
      "type":"structure",
      "required":["Total"],
      "members":{
        "SavingsPlansUtilizationsByTime":{"shape":"SavingsPlansUtilizationsByTime"},
        "Total":{"shape":"SavingsPlansUtilizationAggregates"}
      }
    },
    "GetTagsRequest":{
      "type":"structure",
      "required":["TimePeriod"],
      "members":{
        "SearchString":{"shape":"SearchString"},
        "TimePeriod":{"shape":"DateInterval"},
        "TagKey":{"shape":"TagKey"},
        "NextPageToken":{"shape":"NextPageToken"}
      }
    },
    "GetTagsResponse":{
      "type":"structure",
      "required":[
        "Tags",
        "ReturnSize",
        "TotalSize"
      ],
      "members":{
        "NextPageToken":{"shape":"NextPageToken"},
        "Tags":{"shape":"TagList"},
        "ReturnSize":{"shape":"PageSize"},
        "TotalSize":{"shape":"PageSize"}
      }
    },
    "GetUsageForecastRequest":{
      "type":"structure",
      "required":[
        "TimePeriod",
        "Metric",
        "Granularity"
      ],
      "members":{
        "TimePeriod":{"shape":"DateInterval"},
        "Metric":{"shape":"Metric"},
        "Granularity":{"shape":"Granularity"},
        "Filter":{"shape":"Expression"},
        "PredictionIntervalLevel":{"shape":"PredictionIntervalLevel"}
      }
    },
    "GetUsageForecastResponse":{
      "type":"structure",
      "members":{
        "Total":{"shape":"MetricValue"},
        "ForecastResultsByTime":{"shape":"ForecastResultsByTime"}
      }
    },
    "Granularity":{
      "type":"string",
      "enum":[
        "DAILY",
        "MONTHLY",
        "HOURLY"
      ]
    },
    "Group":{
      "type":"structure",
      "members":{
        "Keys":{"shape":"Keys"},
        "Metrics":{"shape":"Metrics"}
      }
    },
    "GroupDefinition":{
      "type":"structure",
      "members":{
        "Type":{"shape":"GroupDefinitionType"},
        "Key":{"shape":"GroupDefinitionKey"}
      }
    },
    "GroupDefinitionKey":{
      "type":"string",
      "max":1024,
      "min":0,
      "pattern":"[\\S\\s]*"
    },
    "GroupDefinitionType":{
      "type":"string",
      "enum":[
        "DIMENSION",
        "TAG",
        "COST_CATEGORY"
      ]
    },
    "GroupDefinitions":{
      "type":"list",
      "member":{"shape":"GroupDefinition"}
    },
    "Groups":{
      "type":"list",
      "member":{"shape":"Group"}
    },
    "InstanceDetails":{
      "type":"structure",
      "members":{
        "EC2InstanceDetails":{"shape":"EC2InstanceDetails"},
        "RDSInstanceDetails":{"shape":"RDSInstanceDetails"},
        "RedshiftInstanceDetails":{"shape":"RedshiftInstanceDetails"},
        "ElastiCacheInstanceDetails":{"shape":"ElastiCacheInstanceDetails"},
        "ESInstanceDetails":{"shape":"ESInstanceDetails"}
      }
    },
    "InvalidNextTokenException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true
    },
    "Key":{"type":"string"},
    "Keys":{
      "type":"list",
      "member":{"shape":"Key"}
    },
    "LimitExceededException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true
    },
    "ListCostCategoryDefinitionsRequest":{
      "type":"structure",
      "members":{
        "EffectiveOn":{"shape":"ZonedDateTime"},
        "NextToken":{"shape":"NextPageToken"},
        "MaxResults":{
          "shape":"CostCategoryMaxResults",
          "box":true
        }
      }
    },
    "ListCostCategoryDefinitionsResponse":{
      "type":"structure",
      "members":{
        "CostCategoryReferences":{"shape":"CostCategoryReferencesList"},
        "NextToken":{"shape":"NextPageToken"}
      }
    },
    "LookbackPeriodInDays":{
      "type":"string",
      "enum":[
        "SEVEN_DAYS",
        "THIRTY_DAYS",
        "SIXTY_DAYS"
      ]
    },
    "MatchOption":{
      "type":"string",
      "enum":[
        "EQUALS",
        "STARTS_WITH",
        "ENDS_WITH",
        "CONTAINS",
        "CASE_SENSITIVE",
        "CASE_INSENSITIVE"
      ]
    },
    "MatchOptions":{
      "type":"list",
      "member":{"shape":"MatchOption"}
    },
    "MaxResults":{
      "type":"integer",
      "min":1
    },
    "Metric":{
      "type":"string",
      "enum":[
        "BLENDED_COST",
        "UNBLENDED_COST",
        "AMORTIZED_COST",
        "NET_UNBLENDED_COST",
        "NET_AMORTIZED_COST",
        "USAGE_QUANTITY",
        "NORMALIZED_USAGE_AMOUNT"
      ]
    },
    "MetricAmount":{"type":"string"},
    "MetricName":{
      "type":"string",
      "max":1024,
      "min":0,
      "pattern":"[\\S\\s]*"
    },
    "MetricNames":{
      "type":"list",
      "member":{"shape":"MetricName"}
    },
    "MetricUnit":{"type":"string"},
    "MetricValue":{
      "type":"structure",
      "members":{
        "Amount":{"shape":"MetricAmount"},
        "Unit":{"shape":"MetricUnit"}
      }
    },
    "Metrics":{
      "type":"map",
      "key":{"shape":"MetricName"},
      "value":{"shape":"MetricValue"}
    },
    "ModifyRecommendationDetail":{
      "type":"structure",
      "members":{
        "TargetInstances":{"shape":"TargetInstancesList"}
      }
    },
    "NetRISavings":{"type":"string"},
    "NextPageToken":{
      "type":"string",
      "max":8192,
      "min":0,
      "pattern":"[\\S\\s]*"
    },
    "NonNegativeInteger":{
      "type":"integer",
      "min":0
    },
    "OfferingClass":{
      "type":"string",
      "enum":[
        "STANDARD",
        "CONVERTIBLE"
      ]
    },
    "OnDemandCost":{"type":"string"},
    "OnDemandCostOfRIHoursUsed":{"type":"string"},
    "OnDemandHours":{"type":"string"},
    "OnDemandNormalizedUnits":{"type":"string"},
    "PageSize":{"type":"integer"},
    "PaymentOption":{
      "type":"string",
      "enum":[
        "NO_UPFRONT",
        "PARTIAL_UPFRONT",
        "ALL_UPFRONT",
        "LIGHT_UTILIZATION",
        "MEDIUM_UTILIZATION",
        "HEAVY_UTILIZATION"
      ]
    },
    "PredictionIntervalLevel":{
      "type":"integer",
      "max":99,
      "min":51
    },
    "PurchasedHours":{"type":"string"},
    "PurchasedUnits":{"type":"string"},
    "RDSInstanceDetails":{
      "type":"structure",
      "members":{
        "Family":{"shape":"GenericString"},
        "InstanceType":{"shape":"GenericString"},
        "Region":{"shape":"GenericString"},
        "DatabaseEngine":{"shape":"GenericString"},
        "DatabaseEdition":{"shape":"GenericString"},
        "DeploymentOption":{"shape":"GenericString"},
        "LicenseModel":{"shape":"GenericString"},
        "CurrentGeneration":{"shape":"GenericBoolean"},
        "SizeFlexEligible":{"shape":"GenericBoolean"}
      }
    },
    "RecommendationTarget":{
      "type":"string",
      "enum":[
        "SAME_INSTANCE_FAMILY",
        "CROSS_INSTANCE_FAMILY"
      ]
    },
    "RedshiftInstanceDetails":{
      "type":"structure",
      "members":{
        "Family":{"shape":"GenericString"},
        "NodeType":{"shape":"GenericString"},
        "Region":{"shape":"GenericString"},
        "CurrentGeneration":{"shape":"GenericBoolean"},
        "SizeFlexEligible":{"shape":"GenericBoolean"}
      }
    },
    "RequestChangedException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true
    },
    "ReservationAggregates":{
      "type":"structure",
      "members":{
        "UtilizationPercentage":{"shape":"UtilizationPercentage"},
        "UtilizationPercentageInUnits":{"shape":"UtilizationPercentageInUnits"},
        "PurchasedHours":{"shape":"PurchasedHours"},
        "PurchasedUnits":{"shape":"PurchasedUnits"},
        "TotalActualHours":{"shape":"TotalActualHours"},
        "TotalActualUnits":{"shape":"TotalActualUnits"},
        "UnusedHours":{"shape":"UnusedHours"},
        "UnusedUnits":{"shape":"UnusedUnits"},
        "OnDemandCostOfRIHoursUsed":{"shape":"OnDemandCostOfRIHoursUsed"},
        "NetRISavings":{"shape":"NetRISavings"},
        "TotalPotentialRISavings":{"shape":"TotalPotentialRISavings"},
        "AmortizedUpfrontFee":{"shape":"AmortizedUpfrontFee"},
        "AmortizedRecurringFee":{"shape":"AmortizedRecurringFee"},
        "TotalAmortizedFee":{"shape":"TotalAmortizedFee"}
      }
    },
    "ReservationCoverageGroup":{
      "type":"structure",
      "members":{
        "Attributes":{"shape":"Attributes"},
        "Coverage":{"shape":"Coverage"}
      }
    },
    "ReservationCoverageGroups":{
      "type":"list",
      "member":{"shape":"ReservationCoverageGroup"}
    },
    "ReservationGroupKey":{"type":"string"},
    "ReservationGroupValue":{"type":"string"},
    "ReservationPurchaseRecommendation":{
      "type":"structure",
      "members":{
        "AccountScope":{"shape":"AccountScope"},
        "LookbackPeriodInDays":{"shape":"LookbackPeriodInDays"},
        "TermInYears":{"shape":"TermInYears"},
        "PaymentOption":{"shape":"PaymentOption"},
        "ServiceSpecification":{"shape":"ServiceSpecification"},
        "RecommendationDetails":{"shape":"ReservationPurchaseRecommendationDetails"},
        "RecommendationSummary":{"shape":"ReservationPurchaseRecommendationSummary"}
      }
    },
    "ReservationPurchaseRecommendationDetail":{
      "type":"structure",
      "members":{
        "AccountId":{"shape":"GenericString"},
        "InstanceDetails":{"shape":"InstanceDetails"},
        "RecommendedNumberOfInstancesToPurchase":{"shape":"GenericString"},
        "RecommendedNormalizedUnitsToPurchase":{"shape":"GenericString"},
        "MinimumNumberOfInstancesUsedPerHour":{"shape":"GenericString"},
        "MinimumNormalizedUnitsUsedPerHour":{"shape":"GenericString"},
        "MaximumNumberOfInstancesUsedPerHour":{"shape":"GenericString"},
        "MaximumNormalizedUnitsUsedPerHour":{"shape":"GenericString"},
        "AverageNumberOfInstancesUsedPerHour":{"shape":"GenericString"},
        "AverageNormalizedUnitsUsedPerHour":{"shape":"GenericString"},
        "AverageUtilization":{"shape":"GenericString"},
        "EstimatedBreakEvenInMonths":{"shape":"GenericString"},
        "CurrencyCode":{"shape":"GenericString"},
        "EstimatedMonthlySavingsAmount":{"shape":"GenericString"},
        "EstimatedMonthlySavingsPercentage":{"shape":"GenericString"},
        "EstimatedMonthlyOnDemandCost":{"shape":"GenericString"},
        "EstimatedReservationCostForLookbackPeriod":{"shape":"GenericString"},
        "UpfrontCost":{"shape":"GenericString"},
        "RecurringStandardMonthlyCost":{"shape":"GenericString"}
      }
    },
    "ReservationPurchaseRecommendationDetails":{
      "type":"list",
      "member":{"shape":"ReservationPurchaseRecommendationDetail"}
    },
    "ReservationPurchaseRecommendationMetadata":{
      "type":"structure",
      "members":{
        "RecommendationId":{"shape":"GenericString"},
        "GenerationTimestamp":{"shape":"GenericString"}
      }
    },
    "ReservationPurchaseRecommendationSummary":{
      "type":"structure",
      "members":{
        "TotalEstimatedMonthlySavingsAmount":{"shape":"GenericString"},
        "TotalEstimatedMonthlySavingsPercentage":{"shape":"GenericString"},
        "CurrencyCode":{"shape":"GenericString"}
      }
    },
    "ReservationPurchaseRecommendations":{
      "type":"list",
      "member":{"shape":"ReservationPurchaseRecommendation"}
    },
    "ReservationUtilizationGroup":{
      "type":"structure",
      "members":{
        "Key":{"shape":"ReservationGroupKey"},
        "Value":{"shape":"ReservationGroupValue"},
        "Attributes":{"shape":"Attributes"},
        "Utilization":{"shape":"ReservationAggregates"}
      }
    },
    "ReservationUtilizationGroups":{
      "type":"list",
      "member":{"shape":"ReservationUtilizationGroup"}
    },
    "ReservedHours":{"type":"string"},
    "ReservedNormalizedUnits":{"type":"string"},
    "ResourceDetails":{
      "type":"structure",
      "members":{
        "EC2ResourceDetails":{"shape":"EC2ResourceDetails"}
      }
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true
    },
    "ResourceUtilization":{
      "type":"structure",
      "members":{
        "EC2ResourceUtilization":{"shape":"EC2ResourceUtilization"}
      }
    },
    "ResultByTime":{
      "type":"structure",
      "members":{
        "TimePeriod":{"shape":"DateInterval"},
        "Total":{"shape":"Metrics"},
        "Groups":{"shape":"Groups"},
        "Estimated":{"shape":"Estimated"}
      }
    },
    "ResultsByTime":{
      "type":"list",
      "member":{"shape":"ResultByTime"}
    },
    "RightsizingRecommendation":{
      "type":"structure",
      "members":{
        "AccountId":{"shape":"GenericString"},
        "CurrentInstance":{"shape":"CurrentInstance"},
        "RightsizingType":{"shape":"RightsizingType"},
        "ModifyRecommendationDetail":{"shape":"ModifyRecommendationDetail"},
        "TerminateRecommendationDetail":{"shape":"TerminateRecommendationDetail"}
      }
    },
    "RightsizingRecommendationConfiguration":{
      "type":"structure",
      "required":[
        "RecommendationTarget",
        "BenefitsConsidered"
      ],
      "members":{
        "RecommendationTarget":{"shape":"RecommendationTarget"},
        "BenefitsConsidered":{"shape":"GenericBoolean"}
      }
    },
    "RightsizingRecommendationList":{
      "type":"list",
      "member":{"shape":"RightsizingRecommendation"}
    },
    "RightsizingRecommendationMetadata":{
      "type":"structure",
      "members":{
        "RecommendationId":{"shape":"GenericString"},
        "GenerationTimestamp":{"shape":"GenericString"},
        "LookbackPeriodInDays":{"shape":"LookbackPeriodInDays"}
      }
    },
    "RightsizingRecommendationSummary":{
      "type":"structure",
      "members":{
        "TotalRecommendationCount":{"shape":"GenericString"},
        "EstimatedTotalMonthlySavingsAmount":{"shape":"GenericString"},
        "SavingsCurrencyCode":{"shape":"GenericString"},
        "SavingsPercentage":{"shape":"GenericString"}
      }
    },
    "RightsizingType":{
      "type":"string",
      "enum":[
        "TERMINATE",
        "MODIFY"
      ]
    },
    "SavingsPlanArn":{"type":"string"},
    "SavingsPlansAmortizedCommitment":{
      "type":"structure",
      "members":{
        "AmortizedRecurringCommitment":{"shape":"GenericString"},
        "AmortizedUpfrontCommitment":{"shape":"GenericString"},
        "TotalAmortizedCommitment":{"shape":"GenericString"}
      }
    },
    "SavingsPlansCoverage":{
      "type":"structure",
      "members":{
        "Attributes":{"shape":"Attributes"},
        "Coverage":{"shape":"SavingsPlansCoverageData"},
        "TimePeriod":{"shape":"DateInterval"}
      }
    },
    "SavingsPlansCoverageData":{
      "type":"structure",
      "members":{
        "SpendCoveredBySavingsPlans":{"shape":"GenericString"},
        "OnDemandCost":{"shape":"GenericString"},
        "TotalCost":{"shape":"GenericString"},
        "CoveragePercentage":{"shape":"GenericString"}
      }
    },
    "SavingsPlansCoverages":{
      "type":"list",
      "member":{"shape":"SavingsPlansCoverage"}
    },
    "SavingsPlansDetails":{
      "type":"structure",
      "members":{
        "Region":{"shape":"GenericString"},
        "InstanceFamily":{"shape":"GenericString"},
        "OfferingId":{"shape":"GenericString"}
      }
    },
    "SavingsPlansPurchaseRecommendation":{
      "type":"structure",
      "members":{
        "AccountScope":{"shape":"AccountScope"},
        "SavingsPlansType":{"shape":"SupportedSavingsPlansType"},
        "TermInYears":{"shape":"TermInYears"},
        "PaymentOption":{"shape":"PaymentOption"},
        "LookbackPeriodInDays":{"shape":"LookbackPeriodInDays"},
        "SavingsPlansPurchaseRecommendationDetails":{"shape":"SavingsPlansPurchaseRecommendationDetailList"},
        "SavingsPlansPurchaseRecommendationSummary":{"shape":"SavingsPlansPurchaseRecommendationSummary"}
      }
    },
    "SavingsPlansPurchaseRecommendationDetail":{
      "type":"structure",
      "members":{
        "SavingsPlansDetails":{"shape":"SavingsPlansDetails"},
        "AccountId":{"shape":"GenericString"},
        "UpfrontCost":{"shape":"GenericString"},
        "EstimatedROI":{"shape":"GenericString"},
        "CurrencyCode":{"shape":"GenericString"},
        "EstimatedSPCost":{"shape":"GenericString"},
        "EstimatedOnDemandCost":{"shape":"GenericString"},
        "EstimatedOnDemandCostWithCurrentCommitment":{"shape":"GenericString"},
        "EstimatedSavingsAmount":{"shape":"GenericString"},
        "EstimatedSavingsPercentage":{"shape":"GenericString"},
        "HourlyCommitmentToPurchase":{"shape":"GenericString"},
        "EstimatedAverageUtilization":{"shape":"GenericString"},
        "EstimatedMonthlySavingsAmount":{"shape":"GenericString"},
        "CurrentMinimumHourlyOnDemandSpend":{"shape":"GenericString"},
        "CurrentMaximumHourlyOnDemandSpend":{"shape":"GenericString"},
        "CurrentAverageHourlyOnDemandSpend":{"shape":"GenericString"}
      }
    },
    "SavingsPlansPurchaseRecommendationDetailList":{
      "type":"list",
      "member":{"shape":"SavingsPlansPurchaseRecommendationDetail"}
    },
    "SavingsPlansPurchaseRecommendationMetadata":{
      "type":"structure",
      "members":{
        "RecommendationId":{"shape":"GenericString"},
        "GenerationTimestamp":{"shape":"GenericString"}
      }
    },
    "SavingsPlansPurchaseRecommendationSummary":{
      "type":"structure",
      "members":{
        "EstimatedROI":{"shape":"GenericString"},
        "CurrencyCode":{"shape":"GenericString"},
        "EstimatedTotalCost":{"shape":"GenericString"},
        "CurrentOnDemandSpend":{"shape":"GenericString"},
        "EstimatedSavingsAmount":{"shape":"GenericString"},
        "TotalRecommendationCount":{"shape":"GenericString"},
        "DailyCommitmentToPurchase":{"shape":"GenericString"},
        "HourlyCommitmentToPurchase":{"shape":"GenericString"},
        "EstimatedSavingsPercentage":{"shape":"GenericString"},
        "EstimatedMonthlySavingsAmount":{"shape":"GenericString"},
        "EstimatedOnDemandCostWithCurrentCommitment":{"shape":"GenericString"}
      }
    },
    "SavingsPlansSavings":{
      "type":"structure",
      "members":{
        "NetSavings":{"shape":"GenericString"},
        "OnDemandCostEquivalent":{"shape":"GenericString"}
      }
    },
    "SavingsPlansUtilization":{
      "type":"structure",
      "members":{
        "TotalCommitment":{"shape":"GenericString"},
        "UsedCommitment":{"shape":"GenericString"},
        "UnusedCommitment":{"shape":"GenericString"},
        "UtilizationPercentage":{"shape":"GenericString"}
      }
    },
    "SavingsPlansUtilizationAggregates":{
      "type":"structure",
      "required":["Utilization"],
      "members":{
        "Utilization":{"shape":"SavingsPlansUtilization"},
        "Savings":{"shape":"SavingsPlansSavings"},
        "AmortizedCommitment":{"shape":"SavingsPlansAmortizedCommitment"}
      }
    },
    "SavingsPlansUtilizationByTime":{
      "type":"structure",
      "required":[
        "TimePeriod",
        "Utilization"
      ],
      "members":{
        "TimePeriod":{"shape":"DateInterval"},
        "Utilization":{"shape":"SavingsPlansUtilization"},
        "Savings":{"shape":"SavingsPlansSavings"},
        "AmortizedCommitment":{"shape":"SavingsPlansAmortizedCommitment"}
      }
    },
    "SavingsPlansUtilizationDetail":{
      "type":"structure",
      "members":{
        "SavingsPlanArn":{"shape":"SavingsPlanArn"},
        "Attributes":{"shape":"Attributes"},
        "Utilization":{"shape":"SavingsPlansUtilization"},
        "Savings":{"shape":"SavingsPlansSavings"},
        "AmortizedCommitment":{"shape":"SavingsPlansAmortizedCommitment"}
      }
    },
    "SavingsPlansUtilizationDetails":{
      "type":"list",
      "member":{"shape":"SavingsPlansUtilizationDetail"}
    },
    "SavingsPlansUtilizationsByTime":{
      "type":"list",
      "member":{"shape":"SavingsPlansUtilizationByTime"}
    },
    "SearchString":{
      "type":"string",
      "max":1024,
      "min":0,
      "pattern":"[\\S\\s]*"
    },
    "ServiceQuotaExceededException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true
    },
    "ServiceSpecification":{
      "type":"structure",
      "members":{
        "EC2Specification":{"shape":"EC2Specification"}
      }
    },
    "SupportedSavingsPlansType":{
      "type":"string",
      "enum":[
        "COMPUTE_SP",
        "EC2_INSTANCE_SP"
      ]
    },
    "TagKey":{
      "type":"string",
      "max":1024,
      "min":0,
      "pattern":"[\\S\\s]*"
    },
    "TagList":{
      "type":"list",
      "member":{"shape":"Entity"}
    },
    "TagValues":{
      "type":"structure",
      "members":{
        "Key":{"shape":"TagKey"},
        "Values":{"shape":"Values"},
        "MatchOptions":{"shape":"MatchOptions"}
      }
    },
    "TagValuesList":{
      "type":"list",
      "member":{"shape":"TagValues"}
    },
    "TargetInstance":{
      "type":"structure",
      "members":{
        "EstimatedMonthlyCost":{"shape":"GenericString"},
        "EstimatedMonthlySavings":{"shape":"GenericString"},
        "CurrencyCode":{"shape":"GenericString"},
        "DefaultTargetInstance":{"shape":"GenericBoolean"},
        "ResourceDetails":{"shape":"ResourceDetails"},
        "ExpectedResourceUtilization":{"shape":"ResourceUtilization"}
      }
    },
    "TargetInstancesList":{
      "type":"list",
      "member":{"shape":"TargetInstance"}
    },
    "TermInYears":{
      "type":"string",
      "enum":[
        "ONE_YEAR",
        "THREE_YEARS"
      ]
    },
    "TerminateRecommendationDetail":{
      "type":"structure",
      "members":{
        "EstimatedMonthlySavings":{"shape":"GenericString"},
        "CurrencyCode":{"shape":"GenericString"}
      }
    },
    "TotalActualHours":{"type":"string"},
    "TotalActualUnits":{"type":"string"},
    "TotalAmortizedFee":{"type":"string"},
    "TotalPotentialRISavings":{"type":"string"},
    "TotalRunningHours":{"type":"string"},
    "TotalRunningNormalizedUnits":{"type":"string"},
    "UnresolvableUsageUnitException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true
    },
    "UnusedHours":{"type":"string"},
    "UnusedUnits":{"type":"string"},
    "UpdateCostCategoryDefinitionRequest":{
      "type":"structure",
      "required":[
        "CostCategoryArn",
        "RuleVersion",
        "Rules"
      ],
      "members":{
        "CostCategoryArn":{"shape":"Arn"},
        "RuleVersion":{"shape":"CostCategoryRuleVersion"},
        "Rules":{"shape":"CostCategoryRulesList"}
      }
    },
    "UpdateCostCategoryDefinitionResponse":{
      "type":"structure",
      "members":{
        "CostCategoryArn":{"shape":"Arn"},
        "EffectiveStart":{"shape":"ZonedDateTime"}
      }
    },
    "UtilizationByTime":{
      "type":"structure",
      "members":{
        "TimePeriod":{"shape":"DateInterval"},
        "Groups":{"shape":"ReservationUtilizationGroups"},
        "Total":{"shape":"ReservationAggregates"}
      }
    },
    "UtilizationPercentage":{"type":"string"},
    "UtilizationPercentageInUnits":{"type":"string"},
    "UtilizationsByTime":{
      "type":"list",
      "member":{"shape":"UtilizationByTime"}
    },
    "Value":{
      "type":"string",
      "max":1024,
      "min":0,
      "pattern":"[\\S\\s]*"
    },
    "Values":{
      "type":"list",
      "member":{"shape":"Value"}
    },
    "YearMonthDay":{
      "type":"string",
      "max":40,
      "min":0,
      "pattern":"(\\d{4}-\\d{2}-\\d{2})(T\\d{2}:\\d{2}:\\d{2}Z)?"
    },
    "ZonedDateTime":{
      "type":"string",
      "max":25,
      "min":20,
      "pattern":"^\\d{4}-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d(([+-]\\d\\d:\\d\\d)|Z)$"
    }
  }
}
