
commonMain.aws.sdk.kotlin.services.appsync.model.HttpDataSourceConfig.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.appsync.model
/**
* 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()
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
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy