/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Route53Domains { namespace Model { /** *

The ViewBilling request includes the following elements.

See * Also:

AWS * API Reference

*/ class ViewBillingRequest : public Route53DomainsRequest { public: AWS_ROUTE53DOMAINS_API ViewBillingRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "ViewBilling"; } AWS_ROUTE53DOMAINS_API Aws::String SerializePayload() const override; AWS_ROUTE53DOMAINS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

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).

*/ inline const Aws::Utils::DateTime& GetStart() const{ return m_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).

*/ inline bool StartHasBeenSet() const { return m_startHasBeenSet; } /** *

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).

*/ inline void SetStart(const Aws::Utils::DateTime& value) { m_startHasBeenSet = true; m_start = value; } /** *

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).

*/ inline void SetStart(Aws::Utils::DateTime&& value) { m_startHasBeenSet = true; m_start = std::move(value); } /** *

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).

*/ inline ViewBillingRequest& WithStart(const Aws::Utils::DateTime& value) { SetStart(value); return *this;} /** *

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).

*/ inline ViewBillingRequest& WithStart(Aws::Utils::DateTime&& value) { SetStart(std::move(value)); return *this;} /** *

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).

*/ inline const Aws::Utils::DateTime& GetEnd() const{ return m_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).

*/ inline bool EndHasBeenSet() const { return m_endHasBeenSet; } /** *

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).

*/ inline void SetEnd(const Aws::Utils::DateTime& value) { m_endHasBeenSet = true; m_end = value; } /** *

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).

*/ inline void SetEnd(Aws::Utils::DateTime&& value) { m_endHasBeenSet = true; m_end = std::move(value); } /** *

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).

*/ inline ViewBillingRequest& WithEnd(const Aws::Utils::DateTime& value) { SetEnd(value); return *this;} /** *

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).

*/ inline ViewBillingRequest& WithEnd(Aws::Utils::DateTime&& value) { SetEnd(std::move(value)); return *this;} /** *

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 Amazon Web * Services 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.

*/ inline const Aws::String& GetMarker() const{ return m_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 Amazon Web * Services 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.

*/ inline bool MarkerHasBeenSet() const { return m_markerHasBeenSet; } /** *

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 Amazon Web * Services 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.

*/ inline void SetMarker(const Aws::String& value) { m_markerHasBeenSet = true; m_marker = value; } /** *

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 Amazon Web * Services 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.

*/ inline void SetMarker(Aws::String&& value) { m_markerHasBeenSet = true; m_marker = std::move(value); } /** *

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 Amazon Web * Services 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.

*/ inline void SetMarker(const char* value) { m_markerHasBeenSet = true; m_marker.assign(value); } /** *

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 Amazon Web * Services 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.

*/ inline ViewBillingRequest& WithMarker(const Aws::String& value) { SetMarker(value); return *this;} /** *

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 Amazon Web * Services 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.

*/ inline ViewBillingRequest& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;} /** *

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 Amazon Web * Services 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.

*/ inline ViewBillingRequest& WithMarker(const char* value) { SetMarker(value); return *this;} /** *

The number of billing records to be returned.

Default: 20

*/ inline int GetMaxItems() const{ return m_maxItems; } /** *

The number of billing records to be returned.

Default: 20

*/ inline bool MaxItemsHasBeenSet() const { return m_maxItemsHasBeenSet; } /** *

The number of billing records to be returned.

Default: 20

*/ inline void SetMaxItems(int value) { m_maxItemsHasBeenSet = true; m_maxItems = value; } /** *

The number of billing records to be returned.

Default: 20

*/ inline ViewBillingRequest& WithMaxItems(int value) { SetMaxItems(value); return *this;} private: Aws::Utils::DateTime m_start; bool m_startHasBeenSet = false; Aws::Utils::DateTime m_end; bool m_endHasBeenSet = false; Aws::String m_marker; bool m_markerHasBeenSet = false; int m_maxItems; bool m_maxItemsHasBeenSet = false; }; } // namespace Model } // namespace Route53Domains } // namespace Aws