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

commonMain.aws.sdk.kotlin.services.dataexchange.model.ApiGatewayApiAsset.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.dataexchange.model

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

/**
 * The API Gateway API that is the asset.
 */
public class ApiGatewayApiAsset private constructor(builder: Builder) {
    /**
     * The API description of the API asset.
     */
    public val apiDescription: kotlin.String? = builder.apiDescription
    /**
     * The API endpoint of the API asset.
     */
    public val apiEndpoint: kotlin.String? = builder.apiEndpoint
    /**
     * The unique identifier of the API asset.
     */
    public val apiId: kotlin.String? = builder.apiId
    /**
     * The API key of the API asset.
     */
    public val apiKey: kotlin.String? = builder.apiKey
    /**
     * The API name of the API asset.
     */
    public val apiName: kotlin.String? = builder.apiName
    /**
     * The download URL of the API specification of the API asset.
     */
    public val apiSpecificationDownloadUrl: kotlin.String? = builder.apiSpecificationDownloadUrl
    /**
     * The date and time that the upload URL expires, in ISO 8601 format.
     */
    public val apiSpecificationDownloadUrlExpiresAt: aws.smithy.kotlin.runtime.time.Instant? = builder.apiSpecificationDownloadUrlExpiresAt
    /**
     * The protocol type of the API asset.
     */
    public val protocolType: aws.sdk.kotlin.services.dataexchange.model.ProtocolType? = builder.protocolType
    /**
     * The stage of the API asset.
     */
    public val stage: kotlin.String? = builder.stage

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

    override fun toString(): kotlin.String = buildString {
        append("ApiGatewayApiAsset(")
        append("apiDescription=$apiDescription,")
        append("apiEndpoint=$apiEndpoint,")
        append("apiId=$apiId,")
        append("apiKey=$apiKey,")
        append("apiName=$apiName,")
        append("apiSpecificationDownloadUrl=$apiSpecificationDownloadUrl,")
        append("apiSpecificationDownloadUrlExpiresAt=$apiSpecificationDownloadUrlExpiresAt,")
        append("protocolType=$protocolType,")
        append("stage=$stage")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = apiDescription?.hashCode() ?: 0
        result = 31 * result + (apiEndpoint?.hashCode() ?: 0)
        result = 31 * result + (apiId?.hashCode() ?: 0)
        result = 31 * result + (apiKey?.hashCode() ?: 0)
        result = 31 * result + (apiName?.hashCode() ?: 0)
        result = 31 * result + (apiSpecificationDownloadUrl?.hashCode() ?: 0)
        result = 31 * result + (apiSpecificationDownloadUrlExpiresAt?.hashCode() ?: 0)
        result = 31 * result + (protocolType?.hashCode() ?: 0)
        result = 31 * result + (stage?.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 ApiGatewayApiAsset

        if (apiDescription != other.apiDescription) return false
        if (apiEndpoint != other.apiEndpoint) return false
        if (apiId != other.apiId) return false
        if (apiKey != other.apiKey) return false
        if (apiName != other.apiName) return false
        if (apiSpecificationDownloadUrl != other.apiSpecificationDownloadUrl) return false
        if (apiSpecificationDownloadUrlExpiresAt != other.apiSpecificationDownloadUrlExpiresAt) return false
        if (protocolType != other.protocolType) return false
        if (stage != other.stage) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The API description of the API asset.
         */
        public var apiDescription: kotlin.String? = null
        /**
         * The API endpoint of the API asset.
         */
        public var apiEndpoint: kotlin.String? = null
        /**
         * The unique identifier of the API asset.
         */
        public var apiId: kotlin.String? = null
        /**
         * The API key of the API asset.
         */
        public var apiKey: kotlin.String? = null
        /**
         * The API name of the API asset.
         */
        public var apiName: kotlin.String? = null
        /**
         * The download URL of the API specification of the API asset.
         */
        public var apiSpecificationDownloadUrl: kotlin.String? = null
        /**
         * The date and time that the upload URL expires, in ISO 8601 format.
         */
        public var apiSpecificationDownloadUrlExpiresAt: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The protocol type of the API asset.
         */
        public var protocolType: aws.sdk.kotlin.services.dataexchange.model.ProtocolType? = null
        /**
         * The stage of the API asset.
         */
        public var stage: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.dataexchange.model.ApiGatewayApiAsset) : this() {
            this.apiDescription = x.apiDescription
            this.apiEndpoint = x.apiEndpoint
            this.apiId = x.apiId
            this.apiKey = x.apiKey
            this.apiName = x.apiName
            this.apiSpecificationDownloadUrl = x.apiSpecificationDownloadUrl
            this.apiSpecificationDownloadUrlExpiresAt = x.apiSpecificationDownloadUrlExpiresAt
            this.protocolType = x.protocolType
            this.stage = x.stage
        }

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy