viewBilling method

Future<ViewBillingResponse> viewBilling({
  1. DateTime? end,
  2. String? marker,
  3. int? maxItems,
  4. DateTime? start,
})

Returns all the domain-related billing records for the current AWS account for a specified period

May throw InvalidInput.

Parameter end : The end date and time for the time period for which you want a list of billing records. Specify the date and time in Unix time format and Coordinated Universal time (UTC).

Parameter marker : For an initial request for a list of billing records, omit this element. If the number of billing records that are associated with the current AWS account during the specified period is greater than the value that you specified for MaxItems, you can use Marker to return additional billing records. Get the value of NextPageMarker from the previous response, and submit another request that includes the value of NextPageMarker in the Marker element.

Constraints: The marker must match the value of NextPageMarker that was returned in the previous response.

Parameter maxItems : The number of billing records to be returned.

Default: 20

Parameter start : The beginning date and time for the time period for which you want a list of billing records. Specify the date and time in Unix time format and Coordinated Universal time (UTC).

Implementation

Future<ViewBillingResponse> viewBilling({
  DateTime? end,
  String? marker,
  int? maxItems,
  DateTime? start,
}) async {
  _s.validateStringLength(
    'marker',
    marker,
    0,
    4096,
  );
  _s.validateNumRange(
    'maxItems',
    maxItems,
    0,
    100,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'Route53Domains_v20140515.ViewBilling'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      if (end != null) 'End': unixTimestampToJson(end),
      if (marker != null) 'Marker': marker,
      if (maxItems != null) 'MaxItems': maxItems,
      if (start != null) 'Start': unixTimestampToJson(start),
    },
  );

  return ViewBillingResponse.fromJson(jsonResponse.body);
}