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

commonMain.aws.sdk.kotlin.services.deadline.model.MonitorSummary.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.deadline.model

import aws.smithy.kotlin.runtime.SdkDsl
import aws.smithy.kotlin.runtime.time.Instant

/**
 * Provides information about a monitor in Deadline Cloud.
 */
public class MonitorSummary private constructor(builder: Builder) {
    /**
     * The UNIX timestamp of the date and time that the monitor was created.
     */
    public val createdAt: aws.smithy.kotlin.runtime.time.Instant = requireNotNull(builder.createdAt) { "A non-null value must be provided for createdAt" }
    /**
     * The user name of the person that created the monitor.
     */
    public val createdBy: kotlin.String = requireNotNull(builder.createdBy) { "A non-null value must be provided for createdBy" }
    /**
     * The name of the monitor that displays on the Deadline Cloud console.
     *
     * This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.
     */
    public val displayName: kotlin.String = requireNotNull(builder.displayName) { "A non-null value must be provided for displayName" }
    /**
     * The Amazon Resource Name (ARN) that the IAM Identity Center assigned to the monitor when it was created.
     */
    public val identityCenterApplicationArn: kotlin.String = requireNotNull(builder.identityCenterApplicationArn) { "A non-null value must be provided for identityCenterApplicationArn" }
    /**
     * The Amazon Resource Name (ARN) of the IAM Identity Center instance responsible for authenticating monitor users.
     */
    public val identityCenterInstanceArn: kotlin.String = requireNotNull(builder.identityCenterInstanceArn) { "A non-null value must be provided for identityCenterInstanceArn" }
    /**
     * The unique identifier for the monitor.
     */
    public val monitorId: kotlin.String = requireNotNull(builder.monitorId) { "A non-null value must be provided for monitorId" }
    /**
     * The Amazon Resource Name (ARN) of the IAM role for the monitor. Users of the monitor use this role to access Deadline Cloud resources.
     */
    public val roleArn: kotlin.String = requireNotNull(builder.roleArn) { "A non-null value must be provided for roleArn" }
    /**
     * The subdomain used for the monitor URL. The full URL of the monitor is subdomain.Region.deadlinecloud.amazonaws.com.
     */
    public val subdomain: kotlin.String = requireNotNull(builder.subdomain) { "A non-null value must be provided for subdomain" }
    /**
     * The UNIX timestamp of the date and time that the monitor was last updated.
     */
    public val updatedAt: aws.smithy.kotlin.runtime.time.Instant? = builder.updatedAt
    /**
     * The user name of the person that last updated the monitor.
     */
    public val updatedBy: kotlin.String? = builder.updatedBy
    /**
     * The complete URL of the monitor. The full URL of the monitor is subdomain.Region.deadlinecloud.amazonaws.com.
     */
    public val url: kotlin.String = requireNotNull(builder.url) { "A non-null value must be provided for url" }

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

    override fun toString(): kotlin.String = buildString {
        append("MonitorSummary(")
        append("createdAt=$createdAt,")
        append("createdBy=$createdBy,")
        append("displayName=$displayName,")
        append("identityCenterApplicationArn=$identityCenterApplicationArn,")
        append("identityCenterInstanceArn=$identityCenterInstanceArn,")
        append("monitorId=$monitorId,")
        append("roleArn=$roleArn,")
        append("subdomain=$subdomain,")
        append("updatedAt=$updatedAt,")
        append("updatedBy=$updatedBy,")
        append("url=$url")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = createdAt.hashCode()
        result = 31 * result + (createdBy.hashCode())
        result = 31 * result + (displayName.hashCode())
        result = 31 * result + (identityCenterApplicationArn.hashCode())
        result = 31 * result + (identityCenterInstanceArn.hashCode())
        result = 31 * result + (monitorId.hashCode())
        result = 31 * result + (roleArn.hashCode())
        result = 31 * result + (subdomain.hashCode())
        result = 31 * result + (updatedAt?.hashCode() ?: 0)
        result = 31 * result + (updatedBy?.hashCode() ?: 0)
        result = 31 * result + (url.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 MonitorSummary

        if (createdAt != other.createdAt) return false
        if (createdBy != other.createdBy) return false
        if (displayName != other.displayName) return false
        if (identityCenterApplicationArn != other.identityCenterApplicationArn) return false
        if (identityCenterInstanceArn != other.identityCenterInstanceArn) return false
        if (monitorId != other.monitorId) return false
        if (roleArn != other.roleArn) return false
        if (subdomain != other.subdomain) return false
        if (updatedAt != other.updatedAt) return false
        if (updatedBy != other.updatedBy) return false
        if (url != other.url) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The UNIX timestamp of the date and time that the monitor was created.
         */
        public var createdAt: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The user name of the person that created the monitor.
         */
        public var createdBy: kotlin.String? = null
        /**
         * The name of the monitor that displays on the Deadline Cloud console.
         *
         * This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.
         */
        public var displayName: kotlin.String? = null
        /**
         * The Amazon Resource Name (ARN) that the IAM Identity Center assigned to the monitor when it was created.
         */
        public var identityCenterApplicationArn: kotlin.String? = null
        /**
         * The Amazon Resource Name (ARN) of the IAM Identity Center instance responsible for authenticating monitor users.
         */
        public var identityCenterInstanceArn: kotlin.String? = null
        /**
         * The unique identifier for the monitor.
         */
        public var monitorId: kotlin.String? = null
        /**
         * The Amazon Resource Name (ARN) of the IAM role for the monitor. Users of the monitor use this role to access Deadline Cloud resources.
         */
        public var roleArn: kotlin.String? = null
        /**
         * The subdomain used for the monitor URL. The full URL of the monitor is subdomain.Region.deadlinecloud.amazonaws.com.
         */
        public var subdomain: kotlin.String? = null
        /**
         * The UNIX timestamp of the date and time that the monitor was last updated.
         */
        public var updatedAt: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The user name of the person that last updated the monitor.
         */
        public var updatedBy: kotlin.String? = null
        /**
         * The complete URL of the monitor. The full URL of the monitor is subdomain.Region.deadlinecloud.amazonaws.com.
         */
        public var url: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.deadline.model.MonitorSummary) : this() {
            this.createdAt = x.createdAt
            this.createdBy = x.createdBy
            this.displayName = x.displayName
            this.identityCenterApplicationArn = x.identityCenterApplicationArn
            this.identityCenterInstanceArn = x.identityCenterInstanceArn
            this.monitorId = x.monitorId
            this.roleArn = x.roleArn
            this.subdomain = x.subdomain
            this.updatedAt = x.updatedAt
            this.updatedBy = x.updatedBy
            this.url = x.url
        }

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

        internal fun correctErrors(): Builder {
            if (createdAt == null) createdAt = Instant.fromEpochSeconds(0)
            if (createdBy == null) createdBy = ""
            if (displayName == null) displayName = ""
            if (identityCenterApplicationArn == null) identityCenterApplicationArn = ""
            if (identityCenterInstanceArn == null) identityCenterInstanceArn = ""
            if (monitorId == null) monitorId = ""
            if (roleArn == null) roleArn = ""
            if (subdomain == null) subdomain = ""
            if (url == null) url = ""
            return this
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy