commonMain.aws.sdk.kotlin.services.appsync.model.HttpDataSourceConfig.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of appsync-jvm Show documentation
Show all versions of appsync-jvm Show documentation
The AWS SDK for Kotlin client for AppSync
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.appsync.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* Describes an HTTP data source configuration.
*/
public class HttpDataSourceConfig private constructor(builder: Builder) {
/**
* The authorization configuration in case the HTTP endpoint requires authorization.
*/
public val authorizationConfig: aws.sdk.kotlin.services.appsync.model.AuthorizationConfig? = builder.authorizationConfig
/**
* The HTTP URL endpoint. You can specify either the domain name or IP, and port combination, and the URL scheme must be HTTP or HTTPS. If you don't specify the port, AppSync uses the default port 80 for the HTTP endpoint and port 443 for HTTPS endpoints.
*/
public val endpoint: kotlin.String? = builder.endpoint
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.appsync.model.HttpDataSourceConfig = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("HttpDataSourceConfig(")
append("authorizationConfig=$authorizationConfig,")
append("endpoint=$endpoint")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = authorizationConfig?.hashCode() ?: 0
result = 31 * result + (endpoint?.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 HttpDataSourceConfig
if (authorizationConfig != other.authorizationConfig) return false
if (endpoint != other.endpoint) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.appsync.model.HttpDataSourceConfig = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The authorization configuration in case the HTTP endpoint requires authorization.
*/
public var authorizationConfig: aws.sdk.kotlin.services.appsync.model.AuthorizationConfig? = null
/**
* The HTTP URL endpoint. You can specify either the domain name or IP, and port combination, and the URL scheme must be HTTP or HTTPS. If you don't specify the port, AppSync uses the default port 80 for the HTTP endpoint and port 443 for HTTPS endpoints.
*/
public var endpoint: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.appsync.model.HttpDataSourceConfig) : this() {
this.authorizationConfig = x.authorizationConfig
this.endpoint = x.endpoint
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.appsync.model.HttpDataSourceConfig = HttpDataSourceConfig(this)
/**
* construct an [aws.sdk.kotlin.services.appsync.model.AuthorizationConfig] inside the given [block]
*/
public fun authorizationConfig(block: aws.sdk.kotlin.services.appsync.model.AuthorizationConfig.Builder.() -> kotlin.Unit) {
this.authorizationConfig = aws.sdk.kotlin.services.appsync.model.AuthorizationConfig.invoke(block)
}
internal fun correctErrors(): Builder {
return this
}
}
}