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

commonMain.aws.sdk.kotlin.services.mwaa.model.LoggingConfigurationInput.kt Maven / Gradle / Ivy

There is a newer version: 1.3.35
Show newest version
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.mwaa.model

import aws.smithy.kotlin.runtime.SdkDsl

/**
 * Defines the Apache Airflow log types to send to CloudWatch Logs.
 */
public class LoggingConfigurationInput private constructor(builder: Builder) {
    /**
     * Publishes Airflow DAG processing logs to CloudWatch Logs.
     */
    public val dagProcessingLogs: aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput? = builder.dagProcessingLogs
    /**
     * Publishes Airflow scheduler logs to CloudWatch Logs.
     */
    public val schedulerLogs: aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput? = builder.schedulerLogs
    /**
     * Publishes Airflow task logs to CloudWatch Logs.
     */
    public val taskLogs: aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput? = builder.taskLogs
    /**
     * Publishes Airflow web server logs to CloudWatch Logs.
     */
    public val webserverLogs: aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput? = builder.webserverLogs
    /**
     * Publishes Airflow worker logs to CloudWatch Logs.
     */
    public val workerLogs: aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput? = builder.workerLogs

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

    override fun toString(): kotlin.String = buildString {
        append("LoggingConfigurationInput(")
        append("dagProcessingLogs=$dagProcessingLogs,")
        append("schedulerLogs=$schedulerLogs,")
        append("taskLogs=$taskLogs,")
        append("webserverLogs=$webserverLogs,")
        append("workerLogs=$workerLogs")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = dagProcessingLogs?.hashCode() ?: 0
        result = 31 * result + (schedulerLogs?.hashCode() ?: 0)
        result = 31 * result + (taskLogs?.hashCode() ?: 0)
        result = 31 * result + (webserverLogs?.hashCode() ?: 0)
        result = 31 * result + (workerLogs?.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 LoggingConfigurationInput

        if (dagProcessingLogs != other.dagProcessingLogs) return false
        if (schedulerLogs != other.schedulerLogs) return false
        if (taskLogs != other.taskLogs) return false
        if (webserverLogs != other.webserverLogs) return false
        if (workerLogs != other.workerLogs) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * Publishes Airflow DAG processing logs to CloudWatch Logs.
         */
        public var dagProcessingLogs: aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput? = null
        /**
         * Publishes Airflow scheduler logs to CloudWatch Logs.
         */
        public var schedulerLogs: aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput? = null
        /**
         * Publishes Airflow task logs to CloudWatch Logs.
         */
        public var taskLogs: aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput? = null
        /**
         * Publishes Airflow web server logs to CloudWatch Logs.
         */
        public var webserverLogs: aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput? = null
        /**
         * Publishes Airflow worker logs to CloudWatch Logs.
         */
        public var workerLogs: aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.mwaa.model.LoggingConfigurationInput) : this() {
            this.dagProcessingLogs = x.dagProcessingLogs
            this.schedulerLogs = x.schedulerLogs
            this.taskLogs = x.taskLogs
            this.webserverLogs = x.webserverLogs
            this.workerLogs = x.workerLogs
        }

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

        /**
         * construct an [aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput] inside the given [block]
         */
        public fun dagProcessingLogs(block: aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput.Builder.() -> kotlin.Unit) {
            this.dagProcessingLogs = aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput] inside the given [block]
         */
        public fun schedulerLogs(block: aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput.Builder.() -> kotlin.Unit) {
            this.schedulerLogs = aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput] inside the given [block]
         */
        public fun taskLogs(block: aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput.Builder.() -> kotlin.Unit) {
            this.taskLogs = aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput] inside the given [block]
         */
        public fun webserverLogs(block: aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput.Builder.() -> kotlin.Unit) {
            this.webserverLogs = aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput] inside the given [block]
         */
        public fun workerLogs(block: aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput.Builder.() -> kotlin.Unit) {
            this.workerLogs = aws.sdk.kotlin.services.mwaa.model.ModuleLoggingConfigurationInput.invoke(block)
        }

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy