commonMain.aws.sdk.kotlin.services.glue.model.UpdateSourceControlFromJobRequest.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
public class UpdateSourceControlFromJobRequest 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 the authorization token.
*/
public val authToken: kotlin.String? = builder.authToken
/**
* An optional branch in the remote repository.
*/
public val branchName: kotlin.String? = builder.branchName
/**
* A commit ID for a commit in the remote repository.
*/
public val commitId: kotlin.String? = builder.commitId
/**
* An optional folder in the remote repository.
*/
public val folder: kotlin.String? = builder.folder
/**
* The name of the Glue job to be synchronized to or from the remote repository.
*/
public val jobName: kotlin.String? = builder.jobName
/**
* The provider for the remote repository. Possible values: GITHUB, AWS_CODE_COMMIT, GITLAB, BITBUCKET.
*/
public val provider: aws.sdk.kotlin.services.glue.model.SourceControlProvider? = builder.provider
/**
* The name of the remote repository that contains the job artifacts. For BitBucket providers, `RepositoryName` should include `WorkspaceName`. Use the format `/`.
*/
public val repositoryName: kotlin.String? = builder.repositoryName
/**
* The owner of the remote repository that contains the job artifacts.
*/
public val repositoryOwner: kotlin.String? = builder.repositoryOwner
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.glue.model.UpdateSourceControlFromJobRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("UpdateSourceControlFromJobRequest(")
append("authStrategy=$authStrategy,")
append("authToken=$authToken,")
append("branchName=$branchName,")
append("commitId=$commitId,")
append("folder=$folder,")
append("jobName=$jobName,")
append("provider=$provider,")
append("repositoryName=$repositoryName,")
append("repositoryOwner=$repositoryOwner")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = authStrategy?.hashCode() ?: 0
result = 31 * result + (authToken?.hashCode() ?: 0)
result = 31 * result + (branchName?.hashCode() ?: 0)
result = 31 * result + (commitId?.hashCode() ?: 0)
result = 31 * result + (folder?.hashCode() ?: 0)
result = 31 * result + (jobName?.hashCode() ?: 0)
result = 31 * result + (provider?.hashCode() ?: 0)
result = 31 * result + (repositoryName?.hashCode() ?: 0)
result = 31 * result + (repositoryOwner?.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 UpdateSourceControlFromJobRequest
if (authStrategy != other.authStrategy) return false
if (authToken != other.authToken) return false
if (branchName != other.branchName) return false
if (commitId != other.commitId) return false
if (folder != other.folder) return false
if (jobName != other.jobName) return false
if (provider != other.provider) return false
if (repositoryName != other.repositoryName) return false
if (repositoryOwner != other.repositoryOwner) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.glue.model.UpdateSourceControlFromJobRequest = 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 the authorization token.
*/
public var authToken: kotlin.String? = null
/**
* An optional branch in the remote repository.
*/
public var branchName: kotlin.String? = null
/**
* A commit ID for a commit in the remote repository.
*/
public var commitId: kotlin.String? = null
/**
* An optional folder in the remote repository.
*/
public var folder: kotlin.String? = null
/**
* The name of the Glue job to be synchronized to or from the remote repository.
*/
public var jobName: kotlin.String? = null
/**
* The provider for the remote repository. Possible values: GITHUB, AWS_CODE_COMMIT, GITLAB, BITBUCKET.
*/
public var provider: aws.sdk.kotlin.services.glue.model.SourceControlProvider? = null
/**
* The name of the remote repository that contains the job artifacts. For BitBucket providers, `RepositoryName` should include `WorkspaceName`. Use the format `/`.
*/
public var repositoryName: kotlin.String? = null
/**
* The owner of the remote repository that contains the job artifacts.
*/
public var repositoryOwner: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.glue.model.UpdateSourceControlFromJobRequest) : this() {
this.authStrategy = x.authStrategy
this.authToken = x.authToken
this.branchName = x.branchName
this.commitId = x.commitId
this.folder = x.folder
this.jobName = x.jobName
this.provider = x.provider
this.repositoryName = x.repositoryName
this.repositoryOwner = x.repositoryOwner
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.glue.model.UpdateSourceControlFromJobRequest = UpdateSourceControlFromJobRequest(this)
internal fun correctErrors(): Builder {
return this
}
}
}