All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.aws.sdk.kotlin.services.route53domains.model.ViewBillingRequest.kt Maven / Gradle / Ivy

There is a newer version: 1.3.76
Show newest version
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.route53domains.model

import aws.smithy.kotlin.runtime.SdkDsl
import aws.smithy.kotlin.runtime.time.Instant

/**
 * The ViewBilling request includes the following elements.
 */
public class ViewBillingRequest private constructor(builder: Builder) {
    /**
     * 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).
     */
    public val end: aws.smithy.kotlin.runtime.time.Instant? = builder.end
    /**
     * 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.
     */
    public val marker: kotlin.String? = builder.marker
    /**
     * The number of billing records to be returned.
     *
     * Default: 20
     */
    public val maxItems: kotlin.Int? = builder.maxItems
    /**
     * 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).
     */
    public val start: aws.smithy.kotlin.runtime.time.Instant? = builder.start

    public companion object {
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.route53domains.model.ViewBillingRequest = Builder().apply(block).build()
    }

    override fun toString(): kotlin.String = buildString {
        append("ViewBillingRequest(")
        append("end=$end,")
        append("marker=$marker,")
        append("maxItems=$maxItems,")
        append("start=$start")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = end?.hashCode() ?: 0
        result = 31 * result + (marker?.hashCode() ?: 0)
        result = 31 * result + (maxItems ?: 0)
        result = 31 * result + (start?.hashCode() ?: 0)
        return result
    }

    override fun equals(other: kotlin.Any?): kotlin.Boolean {
        if (this === other) return true
        if (other == null || this::class != other::class) return false

        other as ViewBillingRequest

        if (end != other.end) return false
        if (marker != other.marker) return false
        if (maxItems != other.maxItems) return false
        if (start != other.start) return false

        return true
    }

    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.route53domains.model.ViewBillingRequest = Builder(this).apply(block).build()

    @SdkDsl
    public class Builder {
        /**
         * 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).
         */
        public var end: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * 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.
         */
        public var marker: kotlin.String? = null
        /**
         * The number of billing records to be returned.
         *
         * Default: 20
         */
        public var maxItems: kotlin.Int? = null
        /**
         * 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).
         */
        public var start: aws.smithy.kotlin.runtime.time.Instant? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.route53domains.model.ViewBillingRequest) : this() {
            this.end = x.end
            this.marker = x.marker
            this.maxItems = x.maxItems
            this.start = x.start
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.route53domains.model.ViewBillingRequest = ViewBillingRequest(this)

        internal fun correctErrors(): Builder {
            return this
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy