commonMain.aws.sdk.kotlin.services.dataexchange.model.ApiGatewayApiAsset.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dataexchange-jvm Show documentation
Show all versions of dataexchange-jvm Show documentation
The AWS Kotlin client for DataExchange
// 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
}
}
}