All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy