commonMain.aws.sdk.kotlin.services.glue.model.SourceControlDetails.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.glue.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* The details for a source control configuration for a job, allowing synchronization of job artifacts to or from a remote repository.
*/
public class SourceControlDetails private constructor(builder: Builder) {
/**
* The type of authentication, which can be an authentication token stored in Amazon Web Services Secrets Manager, or a personal access token.
*/
public val authStrategy: aws.sdk.kotlin.services.glue.model.SourceControlAuthStrategy? = builder.authStrategy
/**
* The value of an authorization token.
*/
public val authToken: kotlin.String? = builder.authToken
/**
* An optional branch in the remote repository.
*/
public val branch: kotlin.String? = builder.branch
/**
* An optional folder in the remote repository.
*/
public val folder: kotlin.String? = builder.folder
/**
* The last commit ID for a commit in the remote repository.
*/
public val lastCommitId: kotlin.String? = builder.lastCommitId
/**
* The owner of the remote repository that contains the job artifacts.
*/
public val owner: kotlin.String? = builder.owner
/**
* The provider for the remote repository.
*/
public val provider: aws.sdk.kotlin.services.glue.model.SourceControlProvider? = builder.provider
/**
* The name of the remote repository that contains the job artifacts.
*/
public val repository: kotlin.String? = builder.repository
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.glue.model.SourceControlDetails = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("SourceControlDetails(")
append("authStrategy=$authStrategy,")
append("authToken=$authToken,")
append("branch=$branch,")
append("folder=$folder,")
append("lastCommitId=$lastCommitId,")
append("owner=$owner,")
append("provider=$provider,")
append("repository=$repository")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = authStrategy?.hashCode() ?: 0
result = 31 * result + (authToken?.hashCode() ?: 0)
result = 31 * result + (branch?.hashCode() ?: 0)
result = 31 * result + (folder?.hashCode() ?: 0)
result = 31 * result + (lastCommitId?.hashCode() ?: 0)
result = 31 * result + (owner?.hashCode() ?: 0)
result = 31 * result + (provider?.hashCode() ?: 0)
result = 31 * result + (repository?.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 SourceControlDetails
if (authStrategy != other.authStrategy) return false
if (authToken != other.authToken) return false
if (branch != other.branch) return false
if (folder != other.folder) return false
if (lastCommitId != other.lastCommitId) return false
if (owner != other.owner) return false
if (provider != other.provider) return false
if (repository != other.repository) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.glue.model.SourceControlDetails = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The type of authentication, which can be an authentication token stored in Amazon Web Services Secrets Manager, or a personal access token.
*/
public var authStrategy: aws.sdk.kotlin.services.glue.model.SourceControlAuthStrategy? = null
/**
* The value of an authorization token.
*/
public var authToken: kotlin.String? = null
/**
* An optional branch in the remote repository.
*/
public var branch: kotlin.String? = null
/**
* An optional folder in the remote repository.
*/
public var folder: kotlin.String? = null
/**
* The last commit ID for a commit in the remote repository.
*/
public var lastCommitId: kotlin.String? = null
/**
* The owner of the remote repository that contains the job artifacts.
*/
public var owner: kotlin.String? = null
/**
* The provider for the remote repository.
*/
public var provider: aws.sdk.kotlin.services.glue.model.SourceControlProvider? = null
/**
* The name of the remote repository that contains the job artifacts.
*/
public var repository: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.glue.model.SourceControlDetails) : this() {
this.authStrategy = x.authStrategy
this.authToken = x.authToken
this.branch = x.branch
this.folder = x.folder
this.lastCommitId = x.lastCommitId
this.owner = x.owner
this.provider = x.provider
this.repository = x.repository
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.glue.model.SourceControlDetails = SourceControlDetails(this)
internal fun correctErrors(): Builder {
return this
}
}
}