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

commonMain.aws.sdk.kotlin.services.kendra.model.GitHubDocumentCrawlProperties.kt Maven / Gradle / Ivy

// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.kendra.model



/**
 * Provides the configuration information to include certain types of GitHub content. You can configure to index repository files only, or also include issues and pull requests, comments, and comment attachments.
 */
public class GitHubDocumentCrawlProperties private constructor(builder: Builder) {
    /**
     * `TRUE` to index all issues within a repository.
     */
    public val crawlIssue: kotlin.Boolean = builder.crawlIssue
    /**
     * `TRUE` to index all comments on issues.
     */
    public val crawlIssueComment: kotlin.Boolean = builder.crawlIssueComment
    /**
     * `TRUE` to include all comment attachments for issues.
     */
    public val crawlIssueCommentAttachment: kotlin.Boolean = builder.crawlIssueCommentAttachment
    /**
     * `TRUE` to index all pull requests within a repository.
     */
    public val crawlPullRequest: kotlin.Boolean = builder.crawlPullRequest
    /**
     * `TRUE` to index all comments on pull requests.
     */
    public val crawlPullRequestComment: kotlin.Boolean = builder.crawlPullRequestComment
    /**
     * `TRUE` to include all comment attachments for pull requests.
     */
    public val crawlPullRequestCommentAttachment: kotlin.Boolean = builder.crawlPullRequestCommentAttachment
    /**
     * `TRUE` to index all files with a repository.
     */
    public val crawlRepositoryDocuments: kotlin.Boolean = builder.crawlRepositoryDocuments

    public companion object {
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.kendra.model.GitHubDocumentCrawlProperties = Builder().apply(block).build()
    }

    override fun toString(): kotlin.String = buildString {
        append("GitHubDocumentCrawlProperties(")
        append("crawlIssue=$crawlIssue,")
        append("crawlIssueComment=$crawlIssueComment,")
        append("crawlIssueCommentAttachment=$crawlIssueCommentAttachment,")
        append("crawlPullRequest=$crawlPullRequest,")
        append("crawlPullRequestComment=$crawlPullRequestComment,")
        append("crawlPullRequestCommentAttachment=$crawlPullRequestCommentAttachment,")
        append("crawlRepositoryDocuments=$crawlRepositoryDocuments")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = crawlIssue.hashCode()
        result = 31 * result + (crawlIssueComment.hashCode())
        result = 31 * result + (crawlIssueCommentAttachment.hashCode())
        result = 31 * result + (crawlPullRequest.hashCode())
        result = 31 * result + (crawlPullRequestComment.hashCode())
        result = 31 * result + (crawlPullRequestCommentAttachment.hashCode())
        result = 31 * result + (crawlRepositoryDocuments.hashCode())
        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 GitHubDocumentCrawlProperties

        if (crawlIssue != other.crawlIssue) return false
        if (crawlIssueComment != other.crawlIssueComment) return false
        if (crawlIssueCommentAttachment != other.crawlIssueCommentAttachment) return false
        if (crawlPullRequest != other.crawlPullRequest) return false
        if (crawlPullRequestComment != other.crawlPullRequestComment) return false
        if (crawlPullRequestCommentAttachment != other.crawlPullRequestCommentAttachment) return false
        if (crawlRepositoryDocuments != other.crawlRepositoryDocuments) return false

        return true
    }

    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.kendra.model.GitHubDocumentCrawlProperties = Builder(this).apply(block).build()

    public class Builder {
        /**
         * `TRUE` to index all issues within a repository.
         */
        public var crawlIssue: kotlin.Boolean = false
        /**
         * `TRUE` to index all comments on issues.
         */
        public var crawlIssueComment: kotlin.Boolean = false
        /**
         * `TRUE` to include all comment attachments for issues.
         */
        public var crawlIssueCommentAttachment: kotlin.Boolean = false
        /**
         * `TRUE` to index all pull requests within a repository.
         */
        public var crawlPullRequest: kotlin.Boolean = false
        /**
         * `TRUE` to index all comments on pull requests.
         */
        public var crawlPullRequestComment: kotlin.Boolean = false
        /**
         * `TRUE` to include all comment attachments for pull requests.
         */
        public var crawlPullRequestCommentAttachment: kotlin.Boolean = false
        /**
         * `TRUE` to index all files with a repository.
         */
        public var crawlRepositoryDocuments: kotlin.Boolean = false

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.kendra.model.GitHubDocumentCrawlProperties) : this() {
            this.crawlIssue = x.crawlIssue
            this.crawlIssueComment = x.crawlIssueComment
            this.crawlIssueCommentAttachment = x.crawlIssueCommentAttachment
            this.crawlPullRequest = x.crawlPullRequest
            this.crawlPullRequestComment = x.crawlPullRequestComment
            this.crawlPullRequestCommentAttachment = x.crawlPullRequestCommentAttachment
            this.crawlRepositoryDocuments = x.crawlRepositoryDocuments
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.kendra.model.GitHubDocumentCrawlProperties = GitHubDocumentCrawlProperties(this)

        internal fun correctErrors(): Builder {
            return this
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy