commonMain.aws.sdk.kotlin.services.deadline.model.MonitorSummary.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of deadline-jvm Show documentation
Show all versions of deadline-jvm Show documentation
The AWS SDK for Kotlin client for deadline
// 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
}
}
}