1{ 2 "version":"2.0", 3 "metadata":{ 4 "apiVersion":"2017-10-15", 5 "endpointPrefix":"api.pricing", 6 "jsonVersion":"1.1", 7 "protocol":"json", 8 "serviceAbbreviation":"AWS Pricing", 9 "serviceFullName":"AWS Price List Service", 10 "serviceId":"Pricing", 11 "signatureVersion":"v4", 12 "signingName":"pricing", 13 "targetPrefix":"AWSPriceListService", 14 "uid":"pricing-2017-10-15" 15 }, 16 "operations":{ 17 "DescribeServices":{ 18 "name":"DescribeServices", 19 "http":{ 20 "method":"POST", 21 "requestUri":"/" 22 }, 23 "input":{"shape":"DescribeServicesRequest"}, 24 "output":{"shape":"DescribeServicesResponse"}, 25 "errors":[ 26 {"shape":"InvalidParameterException"}, 27 {"shape":"InvalidNextTokenException"}, 28 {"shape":"NotFoundException"}, 29 {"shape":"InternalErrorException"}, 30 {"shape":"ThrottlingException"}, 31 {"shape":"ExpiredNextTokenException"} 32 ], 33 "documentation":"<p>Returns the metadata for one service or a list of the metadata for all services. Use this without a service code to get the service codes for all services. Use it with a service code, such as <code>AmazonEC2</code>, to get information specific to that service, such as the attribute names available for that service. For example, some of the attribute names available for EC2 are <code>volumeType</code>, <code>maxIopsVolume</code>, <code>operation</code>, <code>locationType</code>, and <code>instanceCapacity10xlarge</code>.</p>" 34 }, 35 "GetAttributeValues":{ 36 "name":"GetAttributeValues", 37 "http":{ 38 "method":"POST", 39 "requestUri":"/" 40 }, 41 "input":{"shape":"GetAttributeValuesRequest"}, 42 "output":{"shape":"GetAttributeValuesResponse"}, 43 "errors":[ 44 {"shape":"InvalidParameterException"}, 45 {"shape":"InvalidNextTokenException"}, 46 {"shape":"NotFoundException"}, 47 {"shape":"InternalErrorException"}, 48 {"shape":"ThrottlingException"}, 49 {"shape":"ExpiredNextTokenException"} 50 ], 51 "documentation":"<p>Returns a list of attribute values. Attributes are similar to the details in a Price List API offer file. For a list of available attributes, see <a href=\"https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/reading-an-offer.html#pps-defs\">Offer File Definitions</a> in the <a href=\"https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-what-is.html\">Billing and Cost Management User Guide</a>.</p>" 52 }, 53 "GetPriceListFileUrl":{ 54 "name":"GetPriceListFileUrl", 55 "http":{ 56 "method":"POST", 57 "requestUri":"/" 58 }, 59 "input":{"shape":"GetPriceListFileUrlRequest"}, 60 "output":{"shape":"GetPriceListFileUrlResponse"}, 61 "errors":[ 62 {"shape":"InvalidParameterException"}, 63 {"shape":"NotFoundException"}, 64 {"shape":"AccessDeniedException"}, 65 {"shape":"InternalErrorException"}, 66 {"shape":"ThrottlingException"} 67 ], 68 "documentation":"<p> <i> <b>This feature is in preview release and is subject to change. Your use of Amazon Web Services Price List API is subject to the Beta Service Participation terms of the <a href=\"https://aws.amazon.com/service-terms/\">Amazon Web Services Service Terms</a> (Section 1.10).</b> </i> </p> <p>This returns the URL that you can retrieve your Price List file from. This URL is based on the <code>PriceListArn</code> and <code>FileFormat</code> that you retrieve from the <a href=\"https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_ListPriceLists.html\">ListPriceLists</a> response. </p>" 69 }, 70 "GetProducts":{ 71 "name":"GetProducts", 72 "http":{ 73 "method":"POST", 74 "requestUri":"/" 75 }, 76 "input":{"shape":"GetProductsRequest"}, 77 "output":{"shape":"GetProductsResponse"}, 78 "errors":[ 79 {"shape":"InvalidParameterException"}, 80 {"shape":"InvalidNextTokenException"}, 81 {"shape":"NotFoundException"}, 82 {"shape":"InternalErrorException"}, 83 {"shape":"ThrottlingException"}, 84 {"shape":"ExpiredNextTokenException"} 85 ], 86 "documentation":"<p>Returns a list of all products that match the filter criteria.</p>" 87 }, 88 "ListPriceLists":{ 89 "name":"ListPriceLists", 90 "http":{ 91 "method":"POST", 92 "requestUri":"/" 93 }, 94 "input":{"shape":"ListPriceListsRequest"}, 95 "output":{"shape":"ListPriceListsResponse"}, 96 "errors":[ 97 {"shape":"InvalidParameterException"}, 98 {"shape":"InvalidNextTokenException"}, 99 {"shape":"NotFoundException"}, 100 {"shape":"AccessDeniedException"}, 101 {"shape":"InternalErrorException"}, 102 {"shape":"ThrottlingException"}, 103 {"shape":"ExpiredNextTokenException"} 104 ], 105 "documentation":"<p> <i> <b>This feature is in preview release and is subject to change. Your use of Amazon Web Services Price List API is subject to the Beta Service Participation terms of the <a href=\"https://aws.amazon.com/service-terms/\">Amazon Web Services Service Terms</a> (Section 1.10).</b> </i> </p> <p>This returns a list of Price List references that the requester if authorized to view, given a <code>ServiceCode</code>, <code>CurrencyCode</code>, and an <code>EffectiveDate</code>. Use without a <code>RegionCode</code> filter to list Price List references from all available Amazon Web Services Regions. Use with a <code>RegionCode</code> filter to get the Price List reference that's specific to a specific Amazon Web Services Region. You can use the <code>PriceListArn</code> from the response to get your preferred Price List files through the <a href=\"https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_GetPriceListFileUrl.html\">GetPriceListFileUrl</a> API.</p>" 106 } 107 }, 108 "shapes":{ 109 "AccessDeniedException":{ 110 "type":"structure", 111 "members":{ 112 "Message":{"shape":"errorMessage"} 113 }, 114 "documentation":"<p>General authentication failure. The request wasn't signed correctly.</p>", 115 "exception":true 116 }, 117 "AttributeNameList":{ 118 "type":"list", 119 "member":{"shape":"String"} 120 }, 121 "AttributeValue":{ 122 "type":"structure", 123 "members":{ 124 "Value":{ 125 "shape":"String", 126 "documentation":"<p>The specific value of an <code>attributeName</code>.</p>" 127 } 128 }, 129 "documentation":"<p>The values of a given attribute, such as <code>Throughput Optimized HDD</code> or <code>Provisioned IOPS</code> for the <code>Amazon EC2</code> <code>volumeType</code> attribute.</p>" 130 }, 131 "AttributeValueList":{ 132 "type":"list", 133 "member":{"shape":"AttributeValue"} 134 }, 135 "BoxedInteger":{ 136 "type":"integer", 137 "box":true, 138 "max":100, 139 "min":1 140 }, 141 "CurrencyCode":{ 142 "type":"string", 143 "pattern":"[A-Z]{3}" 144 }, 145 "DescribeServicesRequest":{ 146 "type":"structure", 147 "members":{ 148 "ServiceCode":{ 149 "shape":"String", 150 "documentation":"<p>The code for the service whose information you want to retrieve, such as <code>AmazonEC2</code>. You can use the <code>ServiceCode</code> to filter the results in a <code>GetProducts</code> call. To retrieve a list of all services, leave this blank.</p>" 151 }, 152 "FormatVersion":{ 153 "shape":"String", 154 "documentation":"<p>The format version that you want the response to be in.</p> <p>Valid values are: <code>aws_v1</code> </p>" 155 }, 156 "NextToken":{ 157 "shape":"String", 158 "documentation":"<p>The pagination token that indicates the next set of results that you want to retrieve.</p>" 159 }, 160 "MaxResults":{ 161 "shape":"BoxedInteger", 162 "documentation":"<p>The maximum number of results that you want returned in the response.</p>" 163 } 164 } 165 }, 166 "DescribeServicesResponse":{ 167 "type":"structure", 168 "members":{ 169 "Services":{ 170 "shape":"ServiceList", 171 "documentation":"<p>The service metadata for the service or services in the response.</p>" 172 }, 173 "FormatVersion":{ 174 "shape":"String", 175 "documentation":"<p>The format version of the response. For example, <code>aws_v1</code>.</p>" 176 }, 177 "NextToken":{ 178 "shape":"String", 179 "documentation":"<p>The pagination token for the next set of retrievable results.</p>" 180 } 181 } 182 }, 183 "EffectiveDate":{"type":"timestamp"}, 184 "ExpiredNextTokenException":{ 185 "type":"structure", 186 "members":{ 187 "Message":{"shape":"errorMessage"} 188 }, 189 "documentation":"<p>The pagination token expired. Try again without a pagination token.</p>", 190 "exception":true 191 }, 192 "FileFormat":{ 193 "type":"string", 194 "max":255, 195 "min":1 196 }, 197 "FileFormats":{ 198 "type":"list", 199 "member":{"shape":"FileFormat"} 200 }, 201 "Filter":{ 202 "type":"structure", 203 "required":[ 204 "Type", 205 "Field", 206 "Value" 207 ], 208 "members":{ 209 "Type":{ 210 "shape":"FilterType", 211 "documentation":"<p>The type of filter that you want to use.</p> <p>Valid values are: <code>TERM_MATCH</code>. <code>TERM_MATCH</code> returns only products that match both the given filter field and the given value.</p>" 212 }, 213 "Field":{ 214 "shape":"String", 215 "documentation":"<p>The product metadata field that you want to filter on. You can filter by just the service code to see all products for a specific service, filter by just the attribute name to see a specific attribute for multiple services, or use both a service code and an attribute name to retrieve only products that match both fields.</p> <p>Valid values include: <code>ServiceCode</code>, and all attribute names</p> <p>For example, you can filter by the <code>AmazonEC2</code> service code and the <code>volumeType</code> attribute name to get the prices for only Amazon EC2 volumes.</p>" 216 }, 217 "Value":{ 218 "shape":"String", 219 "documentation":"<p>The service code or attribute value that you want to filter by. If you're filtering by service code this is the actual service code, such as <code>AmazonEC2</code>. If you're filtering by attribute name, this is the attribute value that you want the returned products to match, such as a <code>Provisioned IOPS</code> volume.</p>" 220 } 221 }, 222 "documentation":"<p>The constraints that you want all returned products to match.</p>" 223 }, 224 "FilterType":{ 225 "type":"string", 226 "enum":["TERM_MATCH"] 227 }, 228 "Filters":{ 229 "type":"list", 230 "member":{"shape":"Filter"} 231 }, 232 "GetAttributeValuesRequest":{ 233 "type":"structure", 234 "required":[ 235 "ServiceCode", 236 "AttributeName" 237 ], 238 "members":{ 239 "ServiceCode":{ 240 "shape":"String", 241 "documentation":"<p>The service code for the service whose attributes you want to retrieve. For example, if you want the retrieve an EC2 attribute, use <code>AmazonEC2</code>.</p>" 242 }, 243 "AttributeName":{ 244 "shape":"String", 245 "documentation":"<p>The name of the attribute that you want to retrieve the values for, such as <code>volumeType</code>.</p>" 246 }, 247 "NextToken":{ 248 "shape":"String", 249 "documentation":"<p>The pagination token that indicates the next set of results that you want to retrieve.</p>" 250 }, 251 "MaxResults":{ 252 "shape":"BoxedInteger", 253 "documentation":"<p>The maximum number of results to return in response.</p>" 254 } 255 } 256 }, 257 "GetAttributeValuesResponse":{ 258 "type":"structure", 259 "members":{ 260 "AttributeValues":{ 261 "shape":"AttributeValueList", 262 "documentation":"<p>The list of values for an attribute. For example, <code>Throughput Optimized HDD</code> and <code>Provisioned IOPS</code> are two available values for the <code>AmazonEC2</code> <code>volumeType</code>.</p>" 263 }, 264 "NextToken":{ 265 "shape":"String", 266 "documentation":"<p>The pagination token that indicates the next set of results to retrieve.</p>" 267 } 268 } 269 }, 270 "GetPriceListFileUrlRequest":{ 271 "type":"structure", 272 "required":[ 273 "PriceListArn", 274 "FileFormat" 275 ], 276 "members":{ 277 "PriceListArn":{ 278 "shape":"PriceListArn", 279 "documentation":"<p>The unique identifier that maps to where your Price List files are located. <code>PriceListArn</code> can be obtained from the <a href=\"https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_ListPriceLists.html\">ListPriceLists</a> response. </p>" 280 }, 281 "FileFormat":{ 282 "shape":"FileFormat", 283 "documentation":"<p>The format that you want to retrieve your Price List files in. The <code>FileFormat</code> can be obtained from the <a href=\"https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_ListPriceLists.html\">ListPriceLists</a> response. </p>" 284 } 285 } 286 }, 287 "GetPriceListFileUrlResponse":{ 288 "type":"structure", 289 "members":{ 290 "Url":{ 291 "shape":"String", 292 "documentation":"<p>The URL to download your Price List file from. </p>" 293 } 294 } 295 }, 296 "GetProductsRequest":{ 297 "type":"structure", 298 "required":["ServiceCode"], 299 "members":{ 300 "ServiceCode":{ 301 "shape":"String", 302 "documentation":"<p>The code for the service whose products you want to retrieve. </p>" 303 }, 304 "Filters":{ 305 "shape":"Filters", 306 "documentation":"<p>The list of filters that limit the returned products. only products that match all filters are returned.</p>" 307 }, 308 "FormatVersion":{ 309 "shape":"String", 310 "documentation":"<p>The format version that you want the response to be in.</p> <p>Valid values are: <code>aws_v1</code> </p>" 311 }, 312 "NextToken":{ 313 "shape":"String", 314 "documentation":"<p>The pagination token that indicates the next set of results that you want to retrieve.</p>" 315 }, 316 "MaxResults":{ 317 "shape":"BoxedInteger", 318 "documentation":"<p>The maximum number of results to return in the response.</p>" 319 } 320 } 321 }, 322 "GetProductsResponse":{ 323 "type":"structure", 324 "members":{ 325 "FormatVersion":{ 326 "shape":"String", 327 "documentation":"<p>The format version of the response. For example, aws_v1.</p>" 328 }, 329 "PriceList":{ 330 "shape":"PriceListJsonItems", 331 "documentation":"<p>The list of products that match your filters. The list contains both the product metadata and the price information.</p>" 332 }, 333 "NextToken":{ 334 "shape":"String", 335 "documentation":"<p>The pagination token that indicates the next set of results to retrieve.</p>" 336 } 337 } 338 }, 339 "InternalErrorException":{ 340 "type":"structure", 341 "members":{ 342 "Message":{"shape":"errorMessage"} 343 }, 344 "documentation":"<p>An error on the server occurred during the processing of your request. Try again later.</p>", 345 "exception":true, 346 "fault":true, 347 "retryable":{"throttling":false} 348 }, 349 "InvalidNextTokenException":{ 350 "type":"structure", 351 "members":{ 352 "Message":{"shape":"errorMessage"} 353 }, 354 "documentation":"<p>The pagination token is invalid. Try again without a pagination token.</p>", 355 "exception":true 356 }, 357 "InvalidParameterException":{ 358 "type":"structure", 359 "members":{ 360 "Message":{"shape":"errorMessage"} 361 }, 362 "documentation":"<p>One or more parameters had an invalid value.</p>", 363 "exception":true 364 }, 365 "ListPriceListsRequest":{ 366 "type":"structure", 367 "required":[ 368 "ServiceCode", 369 "EffectiveDate", 370 "CurrencyCode" 371 ], 372 "members":{ 373 "ServiceCode":{ 374 "shape":"ServiceCode", 375 "documentation":"<p>The service code or the Savings Plan service code for the attributes that you want to retrieve. For example, to get the list of applicable Amazon EC2 price lists, use <code>AmazonEC2</code>. For a full list of service codes containing On-Demand and Reserved Instance (RI) pricing, use the <a href=\"https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_DescribeServices.html#awscostmanagement-pricing_DescribeServices-request-FormatVersion\">DescribeServices</a> API.</p> <p>To retrieve the Reserved Instance and Compute Savings Plan price lists, use <code>ComputeSavingsPlans</code>. </p> <p>To retrieve Machine Learning Savings Plans price lists, use <code>MachineLearningSavingsPlans</code>. </p>" 376 }, 377 "EffectiveDate":{ 378 "shape":"EffectiveDate", 379 "documentation":"<p>The date that the Price List file prices are effective from. </p>" 380 }, 381 "RegionCode":{ 382 "shape":"RegionCode", 383 "documentation":"<p>This is used to filter the Price List by Amazon Web Services Region. For example, to get the price list only for the <code>US East (N. Virginia)</code> Region, use <code>us-east-1</code>. If nothing is specified, you retrieve price lists for all applicable Regions. The available <code>RegionCode</code> list can be retrieved from <a href=\"https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_GetAttributeValues.html\">GetAttributeValues</a> API.</p>" 384 }, 385 "CurrencyCode":{ 386 "shape":"CurrencyCode", 387 "documentation":"<p>The three alphabetical character ISO-4217 currency code that the Price List files are denominated in. </p>" 388 }, 389 "NextToken":{ 390 "shape":"String", 391 "documentation":"<p>The pagination token that indicates the next set of results that you want to retrieve. </p>" 392 }, 393 "MaxResults":{ 394 "shape":"MaxResults", 395 "documentation":"<p>The maximum number of results to return in the response. </p>" 396 } 397 } 398 }, 399 "ListPriceListsResponse":{ 400 "type":"structure", 401 "members":{ 402 "PriceLists":{ 403 "shape":"PriceLists", 404 "documentation":"<p>The type of price list references that match your request. </p>" 405 }, 406 "NextToken":{ 407 "shape":"String", 408 "documentation":"<p>The pagination token that indicates the next set of results to retrieve. </p>" 409 } 410 } 411 }, 412 "MaxResults":{ 413 "type":"integer", 414 "box":true, 415 "max":100, 416 "min":1 417 }, 418 "NotFoundException":{ 419 "type":"structure", 420 "members":{ 421 "Message":{"shape":"errorMessage"} 422 }, 423 "documentation":"<p>The requested resource can't be found.</p>", 424 "exception":true 425 }, 426 "PriceList":{ 427 "type":"structure", 428 "members":{ 429 "PriceListArn":{ 430 "shape":"PriceListArn", 431 "documentation":"<p>The unique identifier that maps to where your Price List files are located. <code>PriceListArn</code> can be obtained from the <a href=\"https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_ListPriceLists.html\"> <code>ListPriceList</code> </a> response. </p>" 432 }, 433 "RegionCode":{ 434 "shape":"RegionCode", 435 "documentation":"<p>This is used to filter the Price List by Amazon Web Services Region. For example, to get the price list only for the <code>US East (N. Virginia)</code> Region, use <code>us-east-1</code>. If nothing is specified, you retrieve price lists for all applicable Regions. The available <code>RegionCode</code> list can be retrieved from <a href=\"https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_GetAttributeValues.html\"> <code>GetAttributeValues</code> </a> API. </p>" 436 }, 437 "CurrencyCode":{ 438 "shape":"CurrencyCode", 439 "documentation":"<p>The three alphabetical character ISO-4217 currency code the Price List files are denominated in. </p>" 440 }, 441 "FileFormats":{ 442 "shape":"FileFormats", 443 "documentation":"<p>The format you want to retrieve your Price List files. The <code>FileFormat</code> can be obtained from the <a href=\"https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_ListPriceLists.html\"> <code>ListPriceList</code> </a> response. </p>" 444 } 445 }, 446 "documentation":"<p> <i> <b>This feature is in preview release and is subject to change. Your use of Amazon Web Services Price List API is subject to the Beta Service Participation terms of the <a href=\"https://aws.amazon.com/service-terms/\">Amazon Web Services Service Terms</a> (Section 1.10).</b> </i> </p> <p>This is the type of price list references that match your request. </p>" 447 }, 448 "PriceListArn":{ 449 "type":"string", 450 "max":2048, 451 "min":18, 452 "pattern":"arn:[A-Za-z0-9][-.A-Za-z0-9]{0,62}:pricing:::price-list/[A-Za-z0-9+_/.-]{1,1023}" 453 }, 454 "PriceListJsonItems":{ 455 "type":"list", 456 "member":{ 457 "shape":"SynthesizedJsonPriceListJsonItem", 458 "jsonvalue":true 459 } 460 }, 461 "PriceLists":{ 462 "type":"list", 463 "member":{"shape":"PriceList"} 464 }, 465 "RegionCode":{ 466 "type":"string", 467 "max":255, 468 "min":1 469 }, 470 "Service":{ 471 "type":"structure", 472 "required":["ServiceCode"], 473 "members":{ 474 "ServiceCode":{ 475 "shape":"String", 476 "documentation":"<p>The code for the Amazon Web Services service.</p>" 477 }, 478 "AttributeNames":{ 479 "shape":"AttributeNameList", 480 "documentation":"<p>The attributes that are available for this service.</p>" 481 } 482 }, 483 "documentation":"<p>The metadata for a service, such as the service code and available attribute names.</p>" 484 }, 485 "ServiceCode":{ 486 "type":"string", 487 "max":32, 488 "min":1 489 }, 490 "ServiceList":{ 491 "type":"list", 492 "member":{"shape":"Service"} 493 }, 494 "String":{"type":"string"}, 495 "SynthesizedJsonPriceListJsonItem":{"type":"string"}, 496 "ThrottlingException":{ 497 "type":"structure", 498 "members":{ 499 "Message":{"shape":"errorMessage"} 500 }, 501 "documentation":"<p>You've made too many requests exceeding service quotas. </p>", 502 "exception":true, 503 "retryable":{"throttling":true} 504 }, 505 "errorMessage":{"type":"string"} 506 }, 507 "documentation":"<p>The Amazon Web Services Price List API is a centralized and convenient way to programmatically query Amazon Web Services for services, products, and pricing information. The Amazon Web Services Price List uses standardized product attributes such as <code>Location</code>, <code>Storage Class</code>, and <code>Operating System</code>, and provides prices at the SKU level. You can use the Amazon Web Services Price List to do the following:</p> <ul> <li> <p>Build cost control and scenario planning tools</p> </li> <li> <p>Reconcile billing data</p> </li> <li> <p>Forecast future spend for budgeting purposes</p> </li> <li> <p>Provide cost benefit analysis that compare your internal workloads with Amazon Web Services</p> </li> </ul> <p>Use <code>GetServices</code> without a service code to retrieve the service codes for all Amazon Web Services, then <code>GetServices</code> with a service code to retrieve the attribute names for that service. After you have the service code and attribute names, you can use <code>GetAttributeValues</code> to see what values are available for an attribute. With the service code and an attribute name and value, you can use <code>GetProducts</code> to find specific products that you're interested in, such as an <code>AmazonEC2</code> instance, with a <code>Provisioned IOPS</code> <code>volumeType</code>.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/price-changes.html\">Using the Amazon Web Services Price List API</a> in the <i>Billing User Guide</i>.</p>" 508} 509